Ver Fonte

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@709 67173fc5-114c-0410-ac8e-9d2fd5bffc1f

rave3d há 15 anos atrás
pai
commit
fcc9642ac7
91 ficheiros alterados com 8271 adições e 0 exclusões
  1. 46 0
      port/Assimp.NET/Assimp.NET_CS/AllocateFromAssimpHeap.cs
  2. 149 0
      port/Assimp.NET/Assimp.NET_CS/Assimp.NET_CS.csproj
  3. 199 0
      port/Assimp.NET/Assimp.NET_CS/Assimp.cs
  4. 2316 0
      port/Assimp.NET/Assimp.NET_CS/AssimpPINVOKE.cs
  5. 71 0
      port/Assimp.NET/Assimp.NET_CS/IOStream.cs
  6. 74 0
      port/Assimp.NET/Assimp.NET_CS/IOSystem.cs
  7. 222 0
      port/Assimp.NET/Assimp.NET_CS/Importer.cs
  8. 64 0
      port/Assimp.NET/Assimp.NET_CS/LogStream.cs
  9. 103 0
      port/Assimp.NET/Assimp.NET_CS/Logger.cs
  10. 68 0
      port/Assimp.NET/Assimp.NET_CS/NullLogger.cs
  11. 36 0
      port/Assimp.NET/Assimp.NET_CS/Properties/AssemblyInfo.cs
  12. 27 0
      port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_Assimp__BaseImporter.cs
  13. 27 0
      port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_Assimp__BaseProcess.cs
  14. 27 0
      port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_aiColor4D.cs
  15. 27 0
      port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_aiTextureMapMode.cs
  16. 27 0
      port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_aiTextureMapping.cs
  17. 27 0
      port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_aiTextureOp.cs
  18. 27 0
      port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_bool.cs
  19. 27 0
      port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_f_p_aiFileIO_p_aiFile__void.cs
  20. 27 0
      port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_f_p_aiFileIO_p_q_const__char_p_q_const__char__p_aiFile.cs
  21. 27 0
      port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_f_p_aiFile__size_t.cs
  22. 27 0
      port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_f_p_aiFile__void.cs
  23. 27 0
      port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_f_p_aiFile_p_char_size_t_size_t__size_t.cs
  24. 27 0
      port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_f_p_aiFile_p_q_const__char_size_t_size_t__size_t.cs
  25. 27 0
      port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_f_p_aiFile_size_t_enum_aiOrigin__aiReturn.cs
  26. 27 0
      port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_float.cs
  27. 27 0
      port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_int.cs
  28. 27 0
      port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_p_aiAnimation.cs
  29. 27 0
      port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_p_aiBone.cs
  30. 27 0
      port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_p_aiCamera.cs
  31. 27 0
      port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_p_aiColor4D.cs
  32. 27 0
      port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_p_aiLight.cs
  33. 27 0
      port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_p_aiMaterial.cs
  34. 27 0
      port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_p_aiMaterialProperty.cs
  35. 27 0
      port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_p_aiMesh.cs
  36. 27 0
      port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_p_aiNode.cs
  37. 27 0
      port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_p_aiNodeAnim.cs
  38. 27 0
      port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_p_aiTexture.cs
  39. 27 0
      port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_p_aiVector3D.cs
  40. 27 0
      port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_std__string.cs
  41. 27 0
      port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_unsigned_int.cs
  42. 27 0
      port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_void.cs
  43. 15 0
      port/Assimp.NET/Assimp.NET_CS/aiAnimBehaviour.cs
  44. 98 0
      port/Assimp.NET/Assimp.NET_CS/aiAnimation.cs
  45. 13 0
      port/Assimp.NET/Assimp.NET_CS/aiBlendMode.cs
  46. 93 0
      port/Assimp.NET/Assimp.NET_CS/aiBone.cs
  47. 135 0
      port/Assimp.NET/Assimp.NET_CS/aiCamera.cs
  48. 131 0
      port/Assimp.NET/Assimp.NET_CS/aiColor3D.cs
  49. 22 0
      port/Assimp.NET/Assimp.NET_CS/aiComponent.cs
  50. 16 0
      port/Assimp.NET/Assimp.NET_CS/aiDefaultLogStream.cs
  51. 89 0
      port/Assimp.NET/Assimp.NET_CS/aiFace.cs
  52. 122 0
      port/Assimp.NET/Assimp.NET_CS/aiFile.cs
  53. 78 0
      port/Assimp.NET/Assimp.NET_CS/aiFileIO.cs
  54. 172 0
      port/Assimp.NET/Assimp.NET_CS/aiLight.cs
  55. 15 0
      port/Assimp.NET/Assimp.NET_CS/aiLightSourceType.cs
  56. 112 0
      port/Assimp.NET/Assimp.NET_CS/aiMaterial.cs
  57. 107 0
      port/Assimp.NET/Assimp.NET_CS/aiMaterialProperty.cs
  58. 212 0
      port/Assimp.NET/Assimp.NET_CS/aiMatrix3x3.cs
  59. 326 0
      port/Assimp.NET/Assimp.NET_CS/aiMatrix4x4.cs
  60. 126 0
      port/Assimp.NET/Assimp.NET_CS/aiMemoryInfo.cs
  61. 240 0
      port/Assimp.NET/Assimp.NET_CS/aiMesh.cs
  62. 138 0
      port/Assimp.NET/Assimp.NET_CS/aiNode.cs
  63. 140 0
      port/Assimp.NET/Assimp.NET_CS/aiNodeAnim.cs
  64. 15 0
      port/Assimp.NET/Assimp.NET_CS/aiOrigin.cs
  65. 93 0
      port/Assimp.NET/Assimp.NET_CS/aiPlane.cs
  66. 35 0
      port/Assimp.NET/Assimp.NET_CS/aiPostProcessSteps.cs
  67. 15 0
      port/Assimp.NET/Assimp.NET_CS/aiPrimitiveType.cs
  68. 15 0
      port/Assimp.NET/Assimp.NET_CS/aiPropertyTypeInfo.cs
  69. 95 0
      port/Assimp.NET/Assimp.NET_CS/aiQuatKey.cs
  70. 148 0
      port/Assimp.NET/Assimp.NET_CS/aiQuaternion.cs
  71. 76 0
      port/Assimp.NET/Assimp.NET_CS/aiRay.cs
  72. 15 0
      port/Assimp.NET/Assimp.NET_CS/aiReturn.cs
  73. 223 0
      port/Assimp.NET/Assimp.NET_CS/aiScene.cs
  74. 21 0
      port/Assimp.NET/Assimp.NET_CS/aiShadingMode.cs
  75. 104 0
      port/Assimp.NET/Assimp.NET_CS/aiString.cs
  76. 98 0
      port/Assimp.NET/Assimp.NET_CS/aiTexel.cs
  77. 92 0
      port/Assimp.NET/Assimp.NET_CS/aiTexture.cs
  78. 14 0
      port/Assimp.NET/Assimp.NET_CS/aiTextureFlags.cs
  79. 15 0
      port/Assimp.NET/Assimp.NET_CS/aiTextureMapMode.cs
  80. 17 0
      port/Assimp.NET/Assimp.NET_CS/aiTextureMapping.cs
  81. 17 0
      port/Assimp.NET/Assimp.NET_CS/aiTextureOp.cs
  82. 24 0
      port/Assimp.NET/Assimp.NET_CS/aiTextureType.cs
  83. 78 0
      port/Assimp.NET/Assimp.NET_CS/aiUVTransform.cs
  84. 145 0
      port/Assimp.NET/Assimp.NET_CS/aiVector2D.cs
  85. 162 0
      port/Assimp.NET/Assimp.NET_CS/aiVector3D.cs
  86. 95 0
      port/Assimp.NET/Assimp.NET_CS/aiVectorKey.cs
  87. 69 0
      port/Assimp.NET/Assimp.NET_CS/aiVertexWeight.cs
  88. 5 0
      port/Assimp.NET/Assimp.NET_CS/obj/Debug/Assimp.NET_CS.csproj.FileListAbsolute.txt
  89. BIN
      port/Assimp.NET/Assimp.NET_CS/obj/Debug/Assimp.NET_CS.dll
  90. BIN
      port/Assimp.NET/Assimp.NET_CS/obj/Debug/Assimp.NET_CS.pdb
  91. BIN
      port/Assimp.NET/Assimp.NET_CS/obj/Debug/ResolveAssemblyReference.cache

+ 46 - 0
port/Assimp.NET/Assimp.NET_CS/AllocateFromAssimpHeap.cs

@@ -0,0 +1,46 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class AllocateFromAssimpHeap : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal AllocateFromAssimpHeap(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(AllocateFromAssimpHeap obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~AllocateFromAssimpHeap() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          AssimpPINVOKE.delete_AllocateFromAssimpHeap(swigCPtr);
+        }
+        swigCPtr = new HandleRef(null, IntPtr.Zero);
+      }
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public AllocateFromAssimpHeap() : this(AssimpPINVOKE.new_AllocateFromAssimpHeap(), true) {
+  }
+
+}

+ 149 - 0
port/Assimp.NET/Assimp.NET_CS/Assimp.NET_CS.csproj

@@ -0,0 +1,149 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.21022</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{A0CE9ED2-A27E-40AE-95F5-FEF94BB7E131}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>Assimp.NET_CS</RootNamespace>
+    <AssemblyName>Assimp.NET_CS</AssemblyName>
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>..\port_bin\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Core">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Xml.Linq">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Data.DataSetExtensions">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="aiAnimation.cs" />
+    <Compile Include="aiAnimBehaviour.cs" />
+    <Compile Include="aiBlendMode.cs" />
+    <Compile Include="aiBone.cs" />
+    <Compile Include="aiCamera.cs" />
+    <Compile Include="aiColor3D.cs" />
+    <Compile Include="aiComponent.cs" />
+    <Compile Include="aiDefaultLogStream.cs" />
+    <Compile Include="aiFace.cs" />
+    <Compile Include="aiFile.cs" />
+    <Compile Include="aiFileIO.cs" />
+    <Compile Include="aiLight.cs" />
+    <Compile Include="aiLightSourceType.cs" />
+    <Compile Include="aiMaterial.cs" />
+    <Compile Include="aiMaterialProperty.cs" />
+    <Compile Include="aiMatrix3x3.cs" />
+    <Compile Include="aiMatrix4x4.cs" />
+    <Compile Include="aiMemoryInfo.cs" />
+    <Compile Include="aiMesh.cs" />
+    <Compile Include="aiNode.cs" />
+    <Compile Include="aiNodeAnim.cs" />
+    <Compile Include="aiOrigin.cs" />
+    <Compile Include="aiPlane.cs" />
+    <Compile Include="aiPostProcessSteps.cs" />
+    <Compile Include="aiPrimitiveType.cs" />
+    <Compile Include="aiPropertyTypeInfo.cs" />
+    <Compile Include="aiQuaternion.cs" />
+    <Compile Include="aiQuatKey.cs" />
+    <Compile Include="aiRay.cs" />
+    <Compile Include="aiReturn.cs" />
+    <Compile Include="aiScene.cs" />
+    <Compile Include="aiShadingMode.cs" />
+    <Compile Include="aiString.cs" />
+    <Compile Include="aiTexel.cs" />
+    <Compile Include="aiTexture.cs" />
+    <Compile Include="aiTextureFlags.cs" />
+    <Compile Include="aiTextureMapMode.cs" />
+    <Compile Include="aiTextureMapping.cs" />
+    <Compile Include="aiTextureOp.cs" />
+    <Compile Include="aiTextureType.cs" />
+    <Compile Include="aiUVTransform.cs" />
+    <Compile Include="aiVector2D.cs" />
+    <Compile Include="aiVector3D.cs" />
+    <Compile Include="aiVectorKey.cs" />
+    <Compile Include="aiVertexWeight.cs" />
+    <Compile Include="AllocateFromAssimpHeap.cs" />
+    <Compile Include="Assimp.cs" />
+    <Compile Include="AssimpPINVOKE.cs" />
+    <Compile Include="Importer.cs" />
+    <Compile Include="IOStream.cs" />
+    <Compile Include="IOSystem.cs" />
+    <Compile Include="Logger.cs" />
+    <Compile Include="LogStream.cs" />
+    <Compile Include="NullLogger.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="SWIGTYPE_p_aiColor4D.cs" />
+    <Compile Include="SWIGTYPE_p_aiTextureMapMode.cs" />
+    <Compile Include="SWIGTYPE_p_aiTextureMapping.cs" />
+    <Compile Include="SWIGTYPE_p_aiTextureOp.cs" />
+    <Compile Include="SWIGTYPE_p_Assimp__BaseImporter.cs" />
+    <Compile Include="SWIGTYPE_p_Assimp__BaseProcess.cs" />
+    <Compile Include="SWIGTYPE_p_bool.cs" />
+    <Compile Include="SWIGTYPE_p_float.cs" />
+    <Compile Include="SWIGTYPE_p_f_p_aiFileIO_p_aiFile__void.cs" />
+    <Compile Include="SWIGTYPE_p_f_p_aiFileIO_p_q_const__char_p_q_const__char__p_aiFile.cs" />
+    <Compile Include="SWIGTYPE_p_f_p_aiFile_p_char_size_t_size_t__size_t.cs" />
+    <Compile Include="SWIGTYPE_p_f_p_aiFile_p_q_const__char_size_t_size_t__size_t.cs" />
+    <Compile Include="SWIGTYPE_p_f_p_aiFile_size_t_enum_aiOrigin__aiReturn.cs" />
+    <Compile Include="SWIGTYPE_p_f_p_aiFile__size_t.cs" />
+    <Compile Include="SWIGTYPE_p_f_p_aiFile__void.cs" />
+    <Compile Include="SWIGTYPE_p_int.cs" />
+    <Compile Include="SWIGTYPE_p_p_aiAnimation.cs" />
+    <Compile Include="SWIGTYPE_p_p_aiBone.cs" />
+    <Compile Include="SWIGTYPE_p_p_aiCamera.cs" />
+    <Compile Include="SWIGTYPE_p_p_aiColor4D.cs" />
+    <Compile Include="SWIGTYPE_p_p_aiLight.cs" />
+    <Compile Include="SWIGTYPE_p_p_aiMaterial.cs" />
+    <Compile Include="SWIGTYPE_p_p_aiMaterialProperty.cs" />
+    <Compile Include="SWIGTYPE_p_p_aiMesh.cs" />
+    <Compile Include="SWIGTYPE_p_p_aiNode.cs" />
+    <Compile Include="SWIGTYPE_p_p_aiNodeAnim.cs" />
+    <Compile Include="SWIGTYPE_p_p_aiTexture.cs" />
+    <Compile Include="SWIGTYPE_p_p_aiVector3D.cs" />
+    <Compile Include="SWIGTYPE_p_std__string.cs" />
+    <Compile Include="SWIGTYPE_p_unsigned_int.cs" />
+    <Compile Include="SWIGTYPE_p_void.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\Assimp.NET\Assimp.NET.vcproj">
+      <Project>{A86A8AF2-3B4D-4381-BB01-9CA2AE88450E}</Project>
+      <Name>Assimp.NET</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>

+ 199 - 0
port/Assimp.NET/Assimp.NET_CS/Assimp.cs

@@ -0,0 +1,199 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class Assimp {
+  public static uint MAXLEN {
+    get {
+      uint ret = AssimpPINVOKE.MAXLEN_get();
+      return ret;
+    } 
+  }
+
+  public static aiVector2D __add__(aiVector2D v1, aiVector2D v2) {
+    aiVector2D ret = new aiVector2D(AssimpPINVOKE.__add__(aiVector2D.getCPtr(v1), aiVector2D.getCPtr(v2)), true);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static aiVector2D __sub__(aiVector2D v1, aiVector2D v2) {
+    aiVector2D ret = new aiVector2D(AssimpPINVOKE.__sub____SWIG_0(aiVector2D.getCPtr(v1), aiVector2D.getCPtr(v2)), true);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static float __mul__(aiVector2D v1, aiVector2D v2) {
+    float ret = AssimpPINVOKE.__mul____SWIG_0(aiVector2D.getCPtr(v1), aiVector2D.getCPtr(v2));
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static aiVector2D __mul__(float f, aiVector2D v) {
+    aiVector2D ret = new aiVector2D(AssimpPINVOKE.__mul____SWIG_1(f, aiVector2D.getCPtr(v)), true);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static aiVector2D __mul__(aiVector2D v, float f) {
+    aiVector2D ret = new aiVector2D(AssimpPINVOKE.__mul____SWIG_2(aiVector2D.getCPtr(v), f), true);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static aiVector2D __div__(aiVector2D v, float f) {
+    aiVector2D ret = new aiVector2D(AssimpPINVOKE.__div____SWIG_0(aiVector2D.getCPtr(v), f), true);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static aiVector2D __div__(aiVector2D v, aiVector2D v2) {
+    aiVector2D ret = new aiVector2D(AssimpPINVOKE.__div____SWIG_1(aiVector2D.getCPtr(v), aiVector2D.getCPtr(v2)), true);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static aiVector2D __sub__(aiVector2D v) {
+    aiVector2D ret = new aiVector2D(AssimpPINVOKE.__sub____SWIG_1(aiVector2D.getCPtr(v)), true);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static aiReturn aiGetMaterialProperty(aiMaterial pMat, string pKey, uint type, uint index, SWIGTYPE_p_p_aiMaterialProperty pPropOut) {
+    aiReturn ret = (aiReturn)AssimpPINVOKE.aiGetMaterialProperty(aiMaterial.getCPtr(pMat), pKey, type, index, SWIGTYPE_p_p_aiMaterialProperty.getCPtr(pPropOut));
+    return ret;
+  }
+
+  public static aiReturn aiGetMaterialFloatArray(aiMaterial pMat, string pKey, uint type, uint index, SWIGTYPE_p_float pOut, SWIGTYPE_p_unsigned_int pMax) {
+    aiReturn ret = (aiReturn)AssimpPINVOKE.aiGetMaterialFloatArray(aiMaterial.getCPtr(pMat), pKey, type, index, SWIGTYPE_p_float.getCPtr(pOut), SWIGTYPE_p_unsigned_int.getCPtr(pMax));
+    return ret;
+  }
+
+  public static aiReturn aiGetMaterialFloat(aiMaterial pMat, string pKey, uint type, uint index, SWIGTYPE_p_float pOut) {
+    aiReturn ret = (aiReturn)AssimpPINVOKE.aiGetMaterialFloat(aiMaterial.getCPtr(pMat), pKey, type, index, SWIGTYPE_p_float.getCPtr(pOut));
+    return ret;
+  }
+
+  public static aiReturn aiGetMaterialIntegerArray(aiMaterial pMat, string pKey, uint type, uint index, SWIGTYPE_p_int pOut, SWIGTYPE_p_unsigned_int pMax) {
+    aiReturn ret = (aiReturn)AssimpPINVOKE.aiGetMaterialIntegerArray(aiMaterial.getCPtr(pMat), pKey, type, index, SWIGTYPE_p_int.getCPtr(pOut), SWIGTYPE_p_unsigned_int.getCPtr(pMax));
+    return ret;
+  }
+
+  public static aiReturn aiGetMaterialInteger(aiMaterial pMat, string pKey, uint type, uint index, SWIGTYPE_p_int pOut) {
+    aiReturn ret = (aiReturn)AssimpPINVOKE.aiGetMaterialInteger(aiMaterial.getCPtr(pMat), pKey, type, index, SWIGTYPE_p_int.getCPtr(pOut));
+    return ret;
+  }
+
+  public static aiReturn aiGetMaterialColor(aiMaterial pMat, string pKey, uint type, uint index, SWIGTYPE_p_aiColor4D pOut) {
+    aiReturn ret = (aiReturn)AssimpPINVOKE.aiGetMaterialColor(aiMaterial.getCPtr(pMat), pKey, type, index, SWIGTYPE_p_aiColor4D.getCPtr(pOut));
+    return ret;
+  }
+
+  public static aiReturn aiGetMaterialString(aiMaterial pMat, string pKey, uint type, uint index, aiString pOut) {
+    aiReturn ret = (aiReturn)AssimpPINVOKE.aiGetMaterialString(aiMaterial.getCPtr(pMat), pKey, type, index, aiString.getCPtr(pOut));
+    return ret;
+  }
+
+  public static uint aiGetMaterialTextureCount(aiMaterial pMat, aiTextureType type) {
+    uint ret = AssimpPINVOKE.aiGetMaterialTextureCount(aiMaterial.getCPtr(pMat), (int)type);
+    return ret;
+  }
+
+  public static aiReturn aiGetMaterialTexture(aiMaterial mat, aiTextureType type, uint index, aiString path, SWIGTYPE_p_aiTextureMapping mapping, SWIGTYPE_p_unsigned_int uvindex, SWIGTYPE_p_float blend, SWIGTYPE_p_aiTextureOp op, SWIGTYPE_p_aiTextureMapMode mapmode, SWIGTYPE_p_unsigned_int flags) {
+    aiReturn ret = (aiReturn)AssimpPINVOKE.aiGetMaterialTexture(aiMaterial.getCPtr(mat), (int)type, index, aiString.getCPtr(path), SWIGTYPE_p_aiTextureMapping.getCPtr(mapping), SWIGTYPE_p_unsigned_int.getCPtr(uvindex), SWIGTYPE_p_float.getCPtr(blend), SWIGTYPE_p_aiTextureOp.getCPtr(op), SWIGTYPE_p_aiTextureMapMode.getCPtr(mapmode), SWIGTYPE_p_unsigned_int.getCPtr(flags));
+    return ret;
+  }
+
+  public static aiScene aiImportFileEx(string arg0, uint arg1, aiFileIO arg2) {
+    IntPtr cPtr = AssimpPINVOKE.aiImportFileEx(arg0, arg1, aiFileIO.getCPtr(arg2));
+    aiScene ret = (cPtr == IntPtr.Zero) ? null : new aiScene(cPtr, false);
+    return ret;
+  }
+
+  public static aiScene aiImportFileFromMemory(string arg0, uint arg1, uint arg2, string arg3) {
+    IntPtr cPtr = AssimpPINVOKE.aiImportFileFromMemory(arg0, arg1, arg2, arg3);
+    aiScene ret = (cPtr == IntPtr.Zero) ? null : new aiScene(cPtr, false);
+    return ret;
+  }
+
+  public static readonly double AI_MATH_PI = AssimpPINVOKE.AI_MATH_PI_get();
+  public static readonly double AI_MATH_TWO_PI = AssimpPINVOKE.AI_MATH_TWO_PI_get();
+  public static readonly double AI_MATH_HALF_PI = AssimpPINVOKE.AI_MATH_HALF_PI_get();
+  public static readonly double AI_MATH_PI_F = AssimpPINVOKE.AI_MATH_PI_F_get();
+  public static readonly double AI_MATH_TWO_PI_F = AssimpPINVOKE.AI_MATH_TWO_PI_F_get();
+  public static readonly double AI_MATH_HALF_PI_F = AssimpPINVOKE.AI_MATH_HALF_PI_F_get();
+  public static readonly string AI_CONFIG_PP_CT_MAX_SMOOTHING_ANGLE = AssimpPINVOKE.AI_CONFIG_PP_CT_MAX_SMOOTHING_ANGLE_get();
+  public static readonly string AI_CONFIG_PP_GSN_MAX_SMOOTHING_ANGLE = AssimpPINVOKE.AI_CONFIG_PP_GSN_MAX_SMOOTHING_ANGLE_get();
+  public static readonly string AI_CONFIG_IMPORT_MDL_COLORMAP = AssimpPINVOKE.AI_CONFIG_IMPORT_MDL_COLORMAP_get();
+  public static readonly string AI_CONFIG_PP_RRM_EXCLUDE_LIST = AssimpPINVOKE.AI_CONFIG_PP_RRM_EXCLUDE_LIST_get();
+  public static readonly string AI_CONFIG_PP_PTV_KEEP_HIERARCHY = AssimpPINVOKE.AI_CONFIG_PP_PTV_KEEP_HIERARCHY_get();
+  public static readonly string AI_CONFIG_PP_PTV_NORMALIZE = AssimpPINVOKE.AI_CONFIG_PP_PTV_NORMALIZE_get();
+  public static readonly string AI_CONFIG_PP_FD_REMOVE = AssimpPINVOKE.AI_CONFIG_PP_FD_REMOVE_get();
+  public static readonly string AI_CONFIG_PP_OG_EXCLUDE_LIST = AssimpPINVOKE.AI_CONFIG_PP_OG_EXCLUDE_LIST_get();
+  public static readonly string AI_CONFIG_PP_SLM_TRIANGLE_LIMIT = AssimpPINVOKE.AI_CONFIG_PP_SLM_TRIANGLE_LIMIT_get();
+  public static readonly int AI_SLM_DEFAULT_MAX_TRIANGLES = AssimpPINVOKE.AI_SLM_DEFAULT_MAX_TRIANGLES_get();
+  public static readonly string AI_CONFIG_PP_SLM_VERTEX_LIMIT = AssimpPINVOKE.AI_CONFIG_PP_SLM_VERTEX_LIMIT_get();
+  public static readonly int AI_SLM_DEFAULT_MAX_VERTICES = AssimpPINVOKE.AI_SLM_DEFAULT_MAX_VERTICES_get();
+  public static readonly string AI_CONFIG_PP_LBW_MAX_WEIGHTS = AssimpPINVOKE.AI_CONFIG_PP_LBW_MAX_WEIGHTS_get();
+  public static readonly int AI_LMW_MAX_WEIGHTS = AssimpPINVOKE.AI_LMW_MAX_WEIGHTS_get();
+  public static readonly int PP_ICL_PTCACHE_SIZE = AssimpPINVOKE.PP_ICL_PTCACHE_SIZE_get();
+  public static readonly string AI_CONFIG_PP_ICL_PTCACHE_SIZE = AssimpPINVOKE.AI_CONFIG_PP_ICL_PTCACHE_SIZE_get();
+  public static readonly string AI_CONFIG_PP_RVC_FLAGS = AssimpPINVOKE.AI_CONFIG_PP_RVC_FLAGS_get();
+  public static readonly string AI_CONFIG_PP_SBP_REMOVE = AssimpPINVOKE.AI_CONFIG_PP_SBP_REMOVE_get();
+  public static readonly string AI_CONFIG_PP_FID_ANIM_ACCURACY = AssimpPINVOKE.AI_CONFIG_PP_FID_ANIM_ACCURACY_get();
+  public static readonly int AI_UVTRAFO_SCALING = AssimpPINVOKE.AI_UVTRAFO_SCALING_get();
+  public static readonly int AI_UVTRAFO_ROTATION = AssimpPINVOKE.AI_UVTRAFO_ROTATION_get();
+  public static readonly int AI_UVTRAFO_TRANSLATION = AssimpPINVOKE.AI_UVTRAFO_TRANSLATION_get();
+  public static readonly int AI_UVTRAFO_ALL = AssimpPINVOKE.AI_UVTRAFO_ALL_get();
+  public static readonly string AI_CONFIG_PP_TUV_EVALUATE = AssimpPINVOKE.AI_CONFIG_PP_TUV_EVALUATE_get();
+  public static readonly string AI_CONFIG_FAVOUR_SPEED = AssimpPINVOKE.AI_CONFIG_FAVOUR_SPEED_get();
+  public static readonly string AI_CONFIG_IMPORT_GLOBAL_KEYFRAME = AssimpPINVOKE.AI_CONFIG_IMPORT_GLOBAL_KEYFRAME_get();
+  public static readonly string AI_CONFIG_IMPORT_MD3_KEYFRAME = AssimpPINVOKE.AI_CONFIG_IMPORT_MD3_KEYFRAME_get();
+  public static readonly string AI_CONFIG_IMPORT_MD2_KEYFRAME = AssimpPINVOKE.AI_CONFIG_IMPORT_MD2_KEYFRAME_get();
+  public static readonly string AI_CONFIG_IMPORT_MDL_KEYFRAME = AssimpPINVOKE.AI_CONFIG_IMPORT_MDL_KEYFRAME_get();
+  public static readonly string AI_CONFIG_IMPORT_MDC_KEYFRAME = AssimpPINVOKE.AI_CONFIG_IMPORT_MDC_KEYFRAME_get();
+  public static readonly string AI_CONFIG_IMPORT_SMD_KEYFRAME = AssimpPINVOKE.AI_CONFIG_IMPORT_SMD_KEYFRAME_get();
+  public static readonly string AI_CONFIG_IMPORT_UNREAL_KEYFRAME = AssimpPINVOKE.AI_CONFIG_IMPORT_UNREAL_KEYFRAME_get();
+  public static readonly string AI_CONFIG_IMPORT_AC_SEPARATE_BFCULL = AssimpPINVOKE.AI_CONFIG_IMPORT_AC_SEPARATE_BFCULL_get();
+  public static readonly string AI_CONFIG_IMPORT_AC_EVAL_SUBDIVISION = AssimpPINVOKE.AI_CONFIG_IMPORT_AC_EVAL_SUBDIVISION_get();
+  public static readonly string AI_CONFIG_IMPORT_UNREAL_HANDLE_FLAGS = AssimpPINVOKE.AI_CONFIG_IMPORT_UNREAL_HANDLE_FLAGS_get();
+  public static readonly string AI_CONFIG_IMPORT_TER_MAKE_UVS = AssimpPINVOKE.AI_CONFIG_IMPORT_TER_MAKE_UVS_get();
+  public static readonly string AI_CONFIG_IMPORT_ASE_RECONSTRUCT_NORMALS = AssimpPINVOKE.AI_CONFIG_IMPORT_ASE_RECONSTRUCT_NORMALS_get();
+  public static readonly string AI_CONFIG_IMPORT_MD3_HANDLE_MULTIPART = AssimpPINVOKE.AI_CONFIG_IMPORT_MD3_HANDLE_MULTIPART_get();
+  public static readonly string AI_CONFIG_IMPORT_MD3_SKIN_NAME = AssimpPINVOKE.AI_CONFIG_IMPORT_MD3_SKIN_NAME_get();
+  public static readonly string AI_CONFIG_IMPORT_MD3_SHADER_SRC = AssimpPINVOKE.AI_CONFIG_IMPORT_MD3_SHADER_SRC_get();
+  public static readonly string AI_CONFIG_IMPORT_LWO_ONE_LAYER_ONLY = AssimpPINVOKE.AI_CONFIG_IMPORT_LWO_ONE_LAYER_ONLY_get();
+  public static readonly string AI_CONFIG_IMPORT_MD5_NO_ANIM_AUTOLOAD = AssimpPINVOKE.AI_CONFIG_IMPORT_MD5_NO_ANIM_AUTOLOAD_get();
+  public static readonly string AI_CONFIG_IMPORT_LWS_ANIM_START = AssimpPINVOKE.AI_CONFIG_IMPORT_LWS_ANIM_START_get();
+  public static readonly string AI_CONFIG_IMPORT_LWS_ANIM_END = AssimpPINVOKE.AI_CONFIG_IMPORT_LWS_ANIM_END_get();
+  public static readonly string AI_CONFIG_IMPORT_IRR_ANIM_FPS = AssimpPINVOKE.AI_CONFIG_IMPORT_IRR_ANIM_FPS_get();
+  public static readonly string AI_CONFIG_IMPORT_OGRE_MATERIAL_FILE = AssimpPINVOKE.AI_CONFIG_IMPORT_OGRE_MATERIAL_FILE_get();
+  public static readonly int AI_MAX_NUMBER_OF_COLOR_SETS = AssimpPINVOKE.AI_MAX_NUMBER_OF_COLOR_SETS_get();
+  public static readonly int AI_MAX_NUMBER_OF_TEXTURECOORDS = AssimpPINVOKE.AI_MAX_NUMBER_OF_TEXTURECOORDS_get();
+  public static readonly string AI_DEFAULT_MATERIAL_NAME = AssimpPINVOKE.AI_DEFAULT_MATERIAL_NAME_get();
+  public static readonly string AI_DEFAULT_TEXTURED_MATERIAL_NAME = AssimpPINVOKE.AI_DEFAULT_TEXTURED_MATERIAL_NAME_get();
+  public static readonly string _AI_MATKEY_TEXTURE_BASE = AssimpPINVOKE._AI_MATKEY_TEXTURE_BASE_get();
+  public static readonly string _AI_MATKEY_UVWSRC_BASE = AssimpPINVOKE._AI_MATKEY_UVWSRC_BASE_get();
+  public static readonly string _AI_MATKEY_TEXOP_BASE = AssimpPINVOKE._AI_MATKEY_TEXOP_BASE_get();
+  public static readonly string _AI_MATKEY_MAPPING_BASE = AssimpPINVOKE._AI_MATKEY_MAPPING_BASE_get();
+  public static readonly string _AI_MATKEY_TEXBLEND_BASE = AssimpPINVOKE._AI_MATKEY_TEXBLEND_BASE_get();
+  public static readonly string _AI_MATKEY_MAPPINGMODE_U_BASE = AssimpPINVOKE._AI_MATKEY_MAPPINGMODE_U_BASE_get();
+  public static readonly string _AI_MATKEY_MAPPINGMODE_V_BASE = AssimpPINVOKE._AI_MATKEY_MAPPINGMODE_V_BASE_get();
+  public static readonly string _AI_MATKEY_TEXMAP_AXIS_BASE = AssimpPINVOKE._AI_MATKEY_TEXMAP_AXIS_BASE_get();
+  public static readonly string _AI_MATKEY_UVTRANSFORM_BASE = AssimpPINVOKE._AI_MATKEY_UVTRANSFORM_BASE_get();
+  public static readonly string _AI_MATKEY_TEXFLAGS_BASE = AssimpPINVOKE._AI_MATKEY_TEXFLAGS_BASE_get();
+  public static readonly int AI_SCENE_FLAGS_INCOMPLETE = AssimpPINVOKE.AI_SCENE_FLAGS_INCOMPLETE_get();
+  public static readonly int AI_SCENE_FLAGS_VALIDATED = AssimpPINVOKE.AI_SCENE_FLAGS_VALIDATED_get();
+  public static readonly int AI_SCENE_FLAGS_VALIDATION_WARNING = AssimpPINVOKE.AI_SCENE_FLAGS_VALIDATION_WARNING_get();
+  public static readonly int AI_SCENE_FLAGS_NON_VERBOSE_FORMAT = AssimpPINVOKE.AI_SCENE_FLAGS_NON_VERBOSE_FORMAT_get();
+  public static readonly int AI_SCENE_FLAGS_TERRAIN = AssimpPINVOKE.AI_SCENE_FLAGS_TERRAIN_get();
+  public static readonly int AI_PROPERTY_WAS_NOT_EXISTING = AssimpPINVOKE.AI_PROPERTY_WAS_NOT_EXISTING_get();
+  public static readonly uint MAX_LOG_MESSAGE_LENGTH = AssimpPINVOKE.MAX_LOG_MESSAGE_LENGTH_get();
+}

+ 2316 - 0
port/Assimp.NET/Assimp.NET_CS/AssimpPINVOKE.cs

@@ -0,0 +1,2316 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * 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 AssimpPINVOKE {
+
+  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("Assimp", EntryPoint="SWIGRegisterExceptionCallbacks_Assimp")]
+    public static extern void SWIGRegisterExceptionCallbacks_Assimp(
+                                ExceptionDelegate applicationDelegate,
+                                ExceptionDelegate arithmeticDelegate,
+                                ExceptionDelegate divideByZeroDelegate, 
+                                ExceptionDelegate indexOutOfRangeDelegate, 
+                                ExceptionDelegate invalidCastDelegate,
+                                ExceptionDelegate invalidOperationDelegate,
+                                ExceptionDelegate ioDelegate,
+                                ExceptionDelegate nullReferenceDelegate,
+                                ExceptionDelegate outOfMemoryDelegate, 
+                                ExceptionDelegate overflowDelegate, 
+                                ExceptionDelegate systemExceptionDelegate);
+
+    [DllImport("Assimp", EntryPoint="SWIGRegisterExceptionArgumentCallbacks_Assimp")]
+    public static extern void SWIGRegisterExceptionCallbacksArgument_Assimp(
+                                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_Assimp(
+                                applicationDelegate,
+                                arithmeticDelegate,
+                                divideByZeroDelegate,
+                                indexOutOfRangeDelegate,
+                                invalidCastDelegate,
+                                invalidOperationDelegate,
+                                ioDelegate,
+                                nullReferenceDelegate,
+                                outOfMemoryDelegate,
+                                overflowDelegate,
+                                systemDelegate);
+
+      SWIGRegisterExceptionCallbacksArgument_Assimp(
+                                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(AssimpPINVOKE)) {
+        numExceptionsPending++;
+      }
+    }
+
+    public static Exception Retrieve() {
+      Exception e = null;
+      if (numExceptionsPending > 0) {
+        if (pendingException != null) {
+          e = pendingException;
+          pendingException = null;
+          lock(typeof(AssimpPINVOKE)) {
+            numExceptionsPending--;
+          }
+        }
+      }
+      return e;
+    }
+  }
+
+
+  protected class SWIGStringHelper {
+
+    public delegate string SWIGStringDelegate(string message);
+    static SWIGStringDelegate stringDelegate = new SWIGStringDelegate(CreateString);
+
+    [DllImport("Assimp", EntryPoint="SWIGRegisterStringCallback_Assimp")]
+    public static extern void SWIGRegisterStringCallback_Assimp(SWIGStringDelegate stringDelegate);
+
+    static string CreateString(string cString) {
+      return cString;
+    }
+
+    static SWIGStringHelper() {
+      SWIGRegisterStringCallback_Assimp(stringDelegate);
+    }
+  }
+
+  static protected SWIGStringHelper swigStringHelper = new SWIGStringHelper();
+
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_MATH_PI_get")]
+  public static extern double AI_MATH_PI_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_MATH_TWO_PI_get")]
+  public static extern double AI_MATH_TWO_PI_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_MATH_HALF_PI_get")]
+  public static extern double AI_MATH_HALF_PI_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_MATH_PI_F_get")]
+  public static extern double AI_MATH_PI_F_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_MATH_TWO_PI_F_get")]
+  public static extern double AI_MATH_TWO_PI_F_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_MATH_HALF_PI_F_get")]
+  public static extern double AI_MATH_HALF_PI_F_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_CONFIG_PP_CT_MAX_SMOOTHING_ANGLE_get")]
+  public static extern string AI_CONFIG_PP_CT_MAX_SMOOTHING_ANGLE_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_CONFIG_PP_GSN_MAX_SMOOTHING_ANGLE_get")]
+  public static extern string AI_CONFIG_PP_GSN_MAX_SMOOTHING_ANGLE_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_CONFIG_IMPORT_MDL_COLORMAP_get")]
+  public static extern string AI_CONFIG_IMPORT_MDL_COLORMAP_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_CONFIG_PP_RRM_EXCLUDE_LIST_get")]
+  public static extern string AI_CONFIG_PP_RRM_EXCLUDE_LIST_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_CONFIG_PP_PTV_KEEP_HIERARCHY_get")]
+  public static extern string AI_CONFIG_PP_PTV_KEEP_HIERARCHY_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_CONFIG_PP_PTV_NORMALIZE_get")]
+  public static extern string AI_CONFIG_PP_PTV_NORMALIZE_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_CONFIG_PP_FD_REMOVE_get")]
+  public static extern string AI_CONFIG_PP_FD_REMOVE_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_CONFIG_PP_OG_EXCLUDE_LIST_get")]
+  public static extern string AI_CONFIG_PP_OG_EXCLUDE_LIST_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_CONFIG_PP_SLM_TRIANGLE_LIMIT_get")]
+  public static extern string AI_CONFIG_PP_SLM_TRIANGLE_LIMIT_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_SLM_DEFAULT_MAX_TRIANGLES_get")]
+  public static extern int AI_SLM_DEFAULT_MAX_TRIANGLES_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_CONFIG_PP_SLM_VERTEX_LIMIT_get")]
+  public static extern string AI_CONFIG_PP_SLM_VERTEX_LIMIT_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_SLM_DEFAULT_MAX_VERTICES_get")]
+  public static extern int AI_SLM_DEFAULT_MAX_VERTICES_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_CONFIG_PP_LBW_MAX_WEIGHTS_get")]
+  public static extern string AI_CONFIG_PP_LBW_MAX_WEIGHTS_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_LMW_MAX_WEIGHTS_get")]
+  public static extern int AI_LMW_MAX_WEIGHTS_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_PP_ICL_PTCACHE_SIZE_get")]
+  public static extern int PP_ICL_PTCACHE_SIZE_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_CONFIG_PP_ICL_PTCACHE_SIZE_get")]
+  public static extern string AI_CONFIG_PP_ICL_PTCACHE_SIZE_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_CONFIG_PP_RVC_FLAGS_get")]
+  public static extern string AI_CONFIG_PP_RVC_FLAGS_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_CONFIG_PP_SBP_REMOVE_get")]
+  public static extern string AI_CONFIG_PP_SBP_REMOVE_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_CONFIG_PP_FID_ANIM_ACCURACY_get")]
+  public static extern string AI_CONFIG_PP_FID_ANIM_ACCURACY_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_UVTRAFO_SCALING_get")]
+  public static extern int AI_UVTRAFO_SCALING_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_UVTRAFO_ROTATION_get")]
+  public static extern int AI_UVTRAFO_ROTATION_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_UVTRAFO_TRANSLATION_get")]
+  public static extern int AI_UVTRAFO_TRANSLATION_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_UVTRAFO_ALL_get")]
+  public static extern int AI_UVTRAFO_ALL_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_CONFIG_PP_TUV_EVALUATE_get")]
+  public static extern string AI_CONFIG_PP_TUV_EVALUATE_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_CONFIG_FAVOUR_SPEED_get")]
+  public static extern string AI_CONFIG_FAVOUR_SPEED_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_CONFIG_IMPORT_GLOBAL_KEYFRAME_get")]
+  public static extern string AI_CONFIG_IMPORT_GLOBAL_KEYFRAME_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_CONFIG_IMPORT_MD3_KEYFRAME_get")]
+  public static extern string AI_CONFIG_IMPORT_MD3_KEYFRAME_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_CONFIG_IMPORT_MD2_KEYFRAME_get")]
+  public static extern string AI_CONFIG_IMPORT_MD2_KEYFRAME_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_CONFIG_IMPORT_MDL_KEYFRAME_get")]
+  public static extern string AI_CONFIG_IMPORT_MDL_KEYFRAME_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_CONFIG_IMPORT_MDC_KEYFRAME_get")]
+  public static extern string AI_CONFIG_IMPORT_MDC_KEYFRAME_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_CONFIG_IMPORT_SMD_KEYFRAME_get")]
+  public static extern string AI_CONFIG_IMPORT_SMD_KEYFRAME_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_CONFIG_IMPORT_UNREAL_KEYFRAME_get")]
+  public static extern string AI_CONFIG_IMPORT_UNREAL_KEYFRAME_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_CONFIG_IMPORT_AC_SEPARATE_BFCULL_get")]
+  public static extern string AI_CONFIG_IMPORT_AC_SEPARATE_BFCULL_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_CONFIG_IMPORT_AC_EVAL_SUBDIVISION_get")]
+  public static extern string AI_CONFIG_IMPORT_AC_EVAL_SUBDIVISION_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_CONFIG_IMPORT_UNREAL_HANDLE_FLAGS_get")]
+  public static extern string AI_CONFIG_IMPORT_UNREAL_HANDLE_FLAGS_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_CONFIG_IMPORT_TER_MAKE_UVS_get")]
+  public static extern string AI_CONFIG_IMPORT_TER_MAKE_UVS_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_CONFIG_IMPORT_ASE_RECONSTRUCT_NORMALS_get")]
+  public static extern string AI_CONFIG_IMPORT_ASE_RECONSTRUCT_NORMALS_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_CONFIG_IMPORT_MD3_HANDLE_MULTIPART_get")]
+  public static extern string AI_CONFIG_IMPORT_MD3_HANDLE_MULTIPART_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_CONFIG_IMPORT_MD3_SKIN_NAME_get")]
+  public static extern string AI_CONFIG_IMPORT_MD3_SKIN_NAME_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_CONFIG_IMPORT_MD3_SHADER_SRC_get")]
+  public static extern string AI_CONFIG_IMPORT_MD3_SHADER_SRC_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_CONFIG_IMPORT_LWO_ONE_LAYER_ONLY_get")]
+  public static extern string AI_CONFIG_IMPORT_LWO_ONE_LAYER_ONLY_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_CONFIG_IMPORT_MD5_NO_ANIM_AUTOLOAD_get")]
+  public static extern string AI_CONFIG_IMPORT_MD5_NO_ANIM_AUTOLOAD_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_CONFIG_IMPORT_LWS_ANIM_START_get")]
+  public static extern string AI_CONFIG_IMPORT_LWS_ANIM_START_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_CONFIG_IMPORT_LWS_ANIM_END_get")]
+  public static extern string AI_CONFIG_IMPORT_LWS_ANIM_END_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_CONFIG_IMPORT_IRR_ANIM_FPS_get")]
+  public static extern string AI_CONFIG_IMPORT_IRR_ANIM_FPS_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_CONFIG_IMPORT_OGRE_MATERIAL_FILE_get")]
+  public static extern string AI_CONFIG_IMPORT_OGRE_MATERIAL_FILE_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_AllocateFromAssimpHeap")]
+  public static extern IntPtr new_AllocateFromAssimpHeap();
+
+  [DllImport("Assimp", EntryPoint="CSharp_delete_AllocateFromAssimpHeap")]
+  public static extern void delete_AllocateFromAssimpHeap(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_MAXLEN_get")]
+  public static extern uint MAXLEN_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiPlane__SWIG_0")]
+  public static extern IntPtr new_aiPlane__SWIG_0();
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiPlane__SWIG_1")]
+  public static extern IntPtr new_aiPlane__SWIG_1(float jarg1, float jarg2, float jarg3, float jarg4);
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiPlane__SWIG_2")]
+  public static extern IntPtr new_aiPlane__SWIG_2(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiPlane_a_set")]
+  public static extern void aiPlane_a_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiPlane_a_get")]
+  public static extern float aiPlane_a_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiPlane_b_set")]
+  public static extern void aiPlane_b_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiPlane_b_get")]
+  public static extern float aiPlane_b_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiPlane_c_set")]
+  public static extern void aiPlane_c_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiPlane_c_get")]
+  public static extern float aiPlane_c_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiPlane_d_set")]
+  public static extern void aiPlane_d_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiPlane_d_get")]
+  public static extern float aiPlane_d_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_delete_aiPlane")]
+  public static extern void delete_aiPlane(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiRay__SWIG_0")]
+  public static extern IntPtr new_aiRay__SWIG_0();
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiRay__SWIG_1")]
+  public static extern IntPtr new_aiRay__SWIG_1(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiRay__SWIG_2")]
+  public static extern IntPtr new_aiRay__SWIG_2(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiRay_pos_set")]
+  public static extern void aiRay_pos_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiRay_pos_get")]
+  public static extern IntPtr aiRay_pos_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiRay_dir_set")]
+  public static extern void aiRay_dir_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiRay_dir_get")]
+  public static extern IntPtr aiRay_dir_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_delete_aiRay")]
+  public static extern void delete_aiRay(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiColor3D__SWIG_0")]
+  public static extern IntPtr new_aiColor3D__SWIG_0();
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiColor3D__SWIG_1")]
+  public static extern IntPtr new_aiColor3D__SWIG_1(float jarg1, float jarg2, float jarg3);
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiColor3D__SWIG_2")]
+  public static extern IntPtr new_aiColor3D__SWIG_2(float jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiColor3D__SWIG_3")]
+  public static extern IntPtr new_aiColor3D__SWIG_3(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiColor3D___equal__")]
+  public static extern bool aiColor3D___equal__(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiColor3D___nequal__")]
+  public static extern bool aiColor3D___nequal__(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiColor3D___add__")]
+  public static extern IntPtr aiColor3D___add__(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiColor3D___sub__")]
+  public static extern IntPtr aiColor3D___sub__(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiColor3D___mul____SWIG_0")]
+  public static extern IntPtr aiColor3D___mul____SWIG_0(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiColor3D___mul____SWIG_1")]
+  public static extern IntPtr aiColor3D___mul____SWIG_1(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiColor3D___idx____SWIG_0")]
+  public static extern float aiColor3D___idx____SWIG_0(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiColor3D_IsBlack")]
+  public static extern bool aiColor3D_IsBlack(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiColor3D_r_set")]
+  public static extern void aiColor3D_r_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiColor3D_r_get")]
+  public static extern float aiColor3D_r_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiColor3D_g_set")]
+  public static extern void aiColor3D_g_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiColor3D_g_get")]
+  public static extern float aiColor3D_g_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiColor3D_b_set")]
+  public static extern void aiColor3D_b_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiColor3D_b_get")]
+  public static extern float aiColor3D_b_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_delete_aiColor3D")]
+  public static extern void delete_aiColor3D(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiString__SWIG_0")]
+  public static extern IntPtr new_aiString__SWIG_0();
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiString__SWIG_1")]
+  public static extern IntPtr new_aiString__SWIG_1(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiString__SWIG_2")]
+  public static extern IntPtr new_aiString__SWIG_2(string jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiString_Set__SWIG_0")]
+  public static extern void aiString_Set__SWIG_0(HandleRef jarg1, string jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiString___set____SWIG_0")]
+  public static extern IntPtr aiString___set____SWIG_0(HandleRef jarg1, string jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiString___equal__")]
+  public static extern bool aiString___equal__(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiString___nequal__")]
+  public static extern bool aiString___nequal__(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiString_Append")]
+  public static extern void aiString_Append(HandleRef jarg1, string jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiString_Clear")]
+  public static extern void aiString_Clear(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiString_length_set")]
+  public static extern void aiString_length_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiString_length_get")]
+  public static extern uint aiString_length_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiString_data_set")]
+  public static extern void aiString_data_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiString_data_get")]
+  public static extern string aiString_data_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_delete_aiString")]
+  public static extern void delete_aiString(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiMemoryInfo")]
+  public static extern IntPtr new_aiMemoryInfo();
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMemoryInfo_textures_set")]
+  public static extern void aiMemoryInfo_textures_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMemoryInfo_textures_get")]
+  public static extern uint aiMemoryInfo_textures_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMemoryInfo_materials_set")]
+  public static extern void aiMemoryInfo_materials_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMemoryInfo_materials_get")]
+  public static extern uint aiMemoryInfo_materials_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMemoryInfo_meshes_set")]
+  public static extern void aiMemoryInfo_meshes_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMemoryInfo_meshes_get")]
+  public static extern uint aiMemoryInfo_meshes_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMemoryInfo_nodes_set")]
+  public static extern void aiMemoryInfo_nodes_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMemoryInfo_nodes_get")]
+  public static extern uint aiMemoryInfo_nodes_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMemoryInfo_animations_set")]
+  public static extern void aiMemoryInfo_animations_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMemoryInfo_animations_get")]
+  public static extern uint aiMemoryInfo_animations_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMemoryInfo_cameras_set")]
+  public static extern void aiMemoryInfo_cameras_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMemoryInfo_cameras_get")]
+  public static extern uint aiMemoryInfo_cameras_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMemoryInfo_lights_set")]
+  public static extern void aiMemoryInfo_lights_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMemoryInfo_lights_get")]
+  public static extern uint aiMemoryInfo_lights_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMemoryInfo_total_set")]
+  public static extern void aiMemoryInfo_total_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMemoryInfo_total_get")]
+  public static extern uint aiMemoryInfo_total_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_delete_aiMemoryInfo")]
+  public static extern void delete_aiMemoryInfo(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiVector2D__SWIG_0")]
+  public static extern IntPtr new_aiVector2D__SWIG_0();
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiVector2D__SWIG_1")]
+  public static extern IntPtr new_aiVector2D__SWIG_1(float jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiVector2D__SWIG_2")]
+  public static extern IntPtr new_aiVector2D__SWIG_2(float jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiVector2D__SWIG_3")]
+  public static extern IntPtr new_aiVector2D__SWIG_3(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVector2D_Set")]
+  public static extern void aiVector2D_Set(HandleRef jarg1, float jarg2, float jarg3);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVector2D_SquareLength")]
+  public static extern float aiVector2D_SquareLength(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVector2D_Length")]
+  public static extern float aiVector2D_Length(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVector2D_Normalize")]
+  public static extern IntPtr aiVector2D_Normalize(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVector2D___addnset__")]
+  public static extern IntPtr aiVector2D___addnset__(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVector2D___subnset__")]
+  public static extern IntPtr aiVector2D___subnset__(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVector2D___mulnset__")]
+  public static extern IntPtr aiVector2D___mulnset__(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVector2D___divnset__")]
+  public static extern IntPtr aiVector2D___divnset__(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVector2D___idx____SWIG_0")]
+  public static extern float aiVector2D___idx____SWIG_0(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVector2D___equal__")]
+  public static extern bool aiVector2D___equal__(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVector2D___nequal__")]
+  public static extern bool aiVector2D___nequal__(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVector2D___set__")]
+  public static extern IntPtr aiVector2D___set__(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVector2D_SymMul")]
+  public static extern IntPtr aiVector2D_SymMul(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVector2D_x_set")]
+  public static extern void aiVector2D_x_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVector2D_x_get")]
+  public static extern float aiVector2D_x_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVector2D_y_set")]
+  public static extern void aiVector2D_y_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVector2D_y_get")]
+  public static extern float aiVector2D_y_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_delete_aiVector2D")]
+  public static extern void delete_aiVector2D(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp___add__")]
+  public static extern IntPtr __add__(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp___sub____SWIG_0")]
+  public static extern IntPtr __sub____SWIG_0(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp___mul____SWIG_0")]
+  public static extern float __mul____SWIG_0(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp___mul____SWIG_1")]
+  public static extern IntPtr __mul____SWIG_1(float jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp___mul____SWIG_2")]
+  public static extern IntPtr __mul____SWIG_2(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp___div____SWIG_0")]
+  public static extern IntPtr __div____SWIG_0(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp___div____SWIG_1")]
+  public static extern IntPtr __div____SWIG_1(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp___sub____SWIG_1")]
+  public static extern IntPtr __sub____SWIG_1(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiVector3D__SWIG_0")]
+  public static extern IntPtr new_aiVector3D__SWIG_0();
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiVector3D__SWIG_1")]
+  public static extern IntPtr new_aiVector3D__SWIG_1(float jarg1, float jarg2, float jarg3);
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiVector3D__SWIG_2")]
+  public static extern IntPtr new_aiVector3D__SWIG_2(float jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiVector3D__SWIG_3")]
+  public static extern IntPtr new_aiVector3D__SWIG_3(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVector3D___addnset__")]
+  public static extern IntPtr aiVector3D___addnset__(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVector3D___subnset__")]
+  public static extern IntPtr aiVector3D___subnset__(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVector3D___mulnset____SWIG_0")]
+  public static extern IntPtr aiVector3D___mulnset____SWIG_0(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVector3D___divnset__")]
+  public static extern IntPtr aiVector3D___divnset__(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVector3D___mulnset____SWIG_1")]
+  public static extern IntPtr aiVector3D___mulnset____SWIG_1(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVector3D___mulnset____SWIG_2")]
+  public static extern IntPtr aiVector3D___mulnset____SWIG_2(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVector3D___idx____SWIG_0")]
+  public static extern float aiVector3D___idx____SWIG_0(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVector3D___equal__")]
+  public static extern bool aiVector3D___equal__(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVector3D___nequal__")]
+  public static extern bool aiVector3D___nequal__(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVector3D_Set")]
+  public static extern void aiVector3D_Set(HandleRef jarg1, float jarg2, float jarg3, float jarg4);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVector3D_SquareLength")]
+  public static extern float aiVector3D_SquareLength(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVector3D_Length")]
+  public static extern float aiVector3D_Length(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVector3D_Normalize")]
+  public static extern IntPtr aiVector3D_Normalize(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVector3D_SymMul")]
+  public static extern IntPtr aiVector3D_SymMul(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVector3D_x_set")]
+  public static extern void aiVector3D_x_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVector3D_x_get")]
+  public static extern float aiVector3D_x_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVector3D_y_set")]
+  public static extern void aiVector3D_y_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVector3D_y_get")]
+  public static extern float aiVector3D_y_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVector3D_z_set")]
+  public static extern void aiVector3D_z_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVector3D_z_get")]
+  public static extern float aiVector3D_z_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_delete_aiVector3D")]
+  public static extern void delete_aiVector3D(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiMatrix3x3__SWIG_0")]
+  public static extern IntPtr new_aiMatrix3x3__SWIG_0();
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiMatrix3x3__SWIG_1")]
+  public static extern IntPtr new_aiMatrix3x3__SWIG_1(float jarg1, float jarg2, float jarg3, float jarg4, float jarg5, float jarg6, float jarg7, float jarg8, float jarg9);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix3x3___mulnset__")]
+  public static extern IntPtr aiMatrix3x3___mulnset__(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix3x3___mul__")]
+  public static extern IntPtr aiMatrix3x3___mul__(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix3x3___idx____SWIG_0")]
+  public static extern IntPtr aiMatrix3x3___idx____SWIG_0(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix3x3___equal__")]
+  public static extern bool aiMatrix3x3___equal__(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix3x3___nequal__")]
+  public static extern bool aiMatrix3x3___nequal__(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiMatrix3x3__SWIG_2")]
+  public static extern IntPtr new_aiMatrix3x3__SWIG_2(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix3x3_Transpose")]
+  public static extern IntPtr aiMatrix3x3_Transpose(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix3x3_Inverse")]
+  public static extern IntPtr aiMatrix3x3_Inverse(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix3x3_Determinant")]
+  public static extern float aiMatrix3x3_Determinant(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix3x3_RotationZ")]
+  public static extern IntPtr aiMatrix3x3_RotationZ(float jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix3x3_Rotation")]
+  public static extern IntPtr aiMatrix3x3_Rotation(float jarg1, HandleRef jarg2, HandleRef jarg3);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix3x3_Translation")]
+  public static extern IntPtr aiMatrix3x3_Translation(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix3x3_FromToMatrix")]
+  public static extern IntPtr aiMatrix3x3_FromToMatrix(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix3x3_a1_set")]
+  public static extern void aiMatrix3x3_a1_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix3x3_a1_get")]
+  public static extern float aiMatrix3x3_a1_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix3x3_a2_set")]
+  public static extern void aiMatrix3x3_a2_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix3x3_a2_get")]
+  public static extern float aiMatrix3x3_a2_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix3x3_a3_set")]
+  public static extern void aiMatrix3x3_a3_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix3x3_a3_get")]
+  public static extern float aiMatrix3x3_a3_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix3x3_b1_set")]
+  public static extern void aiMatrix3x3_b1_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix3x3_b1_get")]
+  public static extern float aiMatrix3x3_b1_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix3x3_b2_set")]
+  public static extern void aiMatrix3x3_b2_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix3x3_b2_get")]
+  public static extern float aiMatrix3x3_b2_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix3x3_b3_set")]
+  public static extern void aiMatrix3x3_b3_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix3x3_b3_get")]
+  public static extern float aiMatrix3x3_b3_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix3x3_c1_set")]
+  public static extern void aiMatrix3x3_c1_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix3x3_c1_get")]
+  public static extern float aiMatrix3x3_c1_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix3x3_c2_set")]
+  public static extern void aiMatrix3x3_c2_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix3x3_c2_get")]
+  public static extern float aiMatrix3x3_c2_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix3x3_c3_set")]
+  public static extern void aiMatrix3x3_c3_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix3x3_c3_get")]
+  public static extern float aiMatrix3x3_c3_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_delete_aiMatrix3x3")]
+  public static extern void delete_aiMatrix3x3(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiMatrix4x4__SWIG_0")]
+  public static extern IntPtr new_aiMatrix4x4__SWIG_0();
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiMatrix4x4__SWIG_1")]
+  public static extern IntPtr new_aiMatrix4x4__SWIG_1(float jarg1, float jarg2, float jarg3, float jarg4, float jarg5, float jarg6, float jarg7, float jarg8, float jarg9, float jarg10, float jarg11, float jarg12, float jarg13, float jarg14, float jarg15, float jarg16);
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiMatrix4x4__SWIG_2")]
+  public static extern IntPtr new_aiMatrix4x4__SWIG_2(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4___idx____SWIG_0")]
+  public static extern IntPtr aiMatrix4x4___idx____SWIG_0(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4___equal__")]
+  public static extern bool aiMatrix4x4___equal__(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4___nequal__")]
+  public static extern bool aiMatrix4x4___nequal__(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4___mulnset__")]
+  public static extern IntPtr aiMatrix4x4___mulnset__(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4___mul__")]
+  public static extern IntPtr aiMatrix4x4___mul__(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_Transpose")]
+  public static extern IntPtr aiMatrix4x4_Transpose(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_Inverse")]
+  public static extern IntPtr aiMatrix4x4_Inverse(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_Determinant")]
+  public static extern float aiMatrix4x4_Determinant(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_IsIdentity")]
+  public static extern bool aiMatrix4x4_IsIdentity(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_Decompose")]
+  public static extern void aiMatrix4x4_Decompose(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_DecomposeNoScaling")]
+  public static extern void aiMatrix4x4_DecomposeNoScaling(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_FromEulerAnglesXYZ__SWIG_0")]
+  public static extern IntPtr aiMatrix4x4_FromEulerAnglesXYZ__SWIG_0(HandleRef jarg1, float jarg2, float jarg3, float jarg4);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_FromEulerAnglesXYZ__SWIG_1")]
+  public static extern IntPtr aiMatrix4x4_FromEulerAnglesXYZ__SWIG_1(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_RotationX")]
+  public static extern IntPtr aiMatrix4x4_RotationX(float jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_RotationY")]
+  public static extern IntPtr aiMatrix4x4_RotationY(float jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_RotationZ")]
+  public static extern IntPtr aiMatrix4x4_RotationZ(float jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_Rotation")]
+  public static extern IntPtr aiMatrix4x4_Rotation(float jarg1, HandleRef jarg2, HandleRef jarg3);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_Translation")]
+  public static extern IntPtr aiMatrix4x4_Translation(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_Scaling")]
+  public static extern IntPtr aiMatrix4x4_Scaling(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_FromToMatrix")]
+  public static extern IntPtr aiMatrix4x4_FromToMatrix(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_a1_set")]
+  public static extern void aiMatrix4x4_a1_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_a1_get")]
+  public static extern float aiMatrix4x4_a1_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_a2_set")]
+  public static extern void aiMatrix4x4_a2_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_a2_get")]
+  public static extern float aiMatrix4x4_a2_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_a3_set")]
+  public static extern void aiMatrix4x4_a3_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_a3_get")]
+  public static extern float aiMatrix4x4_a3_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_a4_set")]
+  public static extern void aiMatrix4x4_a4_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_a4_get")]
+  public static extern float aiMatrix4x4_a4_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_b1_set")]
+  public static extern void aiMatrix4x4_b1_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_b1_get")]
+  public static extern float aiMatrix4x4_b1_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_b2_set")]
+  public static extern void aiMatrix4x4_b2_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_b2_get")]
+  public static extern float aiMatrix4x4_b2_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_b3_set")]
+  public static extern void aiMatrix4x4_b3_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_b3_get")]
+  public static extern float aiMatrix4x4_b3_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_b4_set")]
+  public static extern void aiMatrix4x4_b4_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_b4_get")]
+  public static extern float aiMatrix4x4_b4_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_c1_set")]
+  public static extern void aiMatrix4x4_c1_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_c1_get")]
+  public static extern float aiMatrix4x4_c1_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_c2_set")]
+  public static extern void aiMatrix4x4_c2_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_c2_get")]
+  public static extern float aiMatrix4x4_c2_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_c3_set")]
+  public static extern void aiMatrix4x4_c3_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_c3_get")]
+  public static extern float aiMatrix4x4_c3_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_c4_set")]
+  public static extern void aiMatrix4x4_c4_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_c4_get")]
+  public static extern float aiMatrix4x4_c4_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_d1_set")]
+  public static extern void aiMatrix4x4_d1_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_d1_get")]
+  public static extern float aiMatrix4x4_d1_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_d2_set")]
+  public static extern void aiMatrix4x4_d2_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_d2_get")]
+  public static extern float aiMatrix4x4_d2_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_d3_set")]
+  public static extern void aiMatrix4x4_d3_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_d3_get")]
+  public static extern float aiMatrix4x4_d3_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_d4_set")]
+  public static extern void aiMatrix4x4_d4_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMatrix4x4_d4_get")]
+  public static extern float aiMatrix4x4_d4_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_delete_aiMatrix4x4")]
+  public static extern void delete_aiMatrix4x4(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiCamera_mName_set")]
+  public static extern void aiCamera_mName_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiCamera_mName_get")]
+  public static extern IntPtr aiCamera_mName_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiCamera_mPosition_set")]
+  public static extern void aiCamera_mPosition_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiCamera_mPosition_get")]
+  public static extern IntPtr aiCamera_mPosition_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiCamera_mUp_set")]
+  public static extern void aiCamera_mUp_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiCamera_mUp_get")]
+  public static extern IntPtr aiCamera_mUp_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiCamera_mLookAt_set")]
+  public static extern void aiCamera_mLookAt_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiCamera_mLookAt_get")]
+  public static extern IntPtr aiCamera_mLookAt_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiCamera_mHorizontalFOV_set")]
+  public static extern void aiCamera_mHorizontalFOV_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiCamera_mHorizontalFOV_get")]
+  public static extern float aiCamera_mHorizontalFOV_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiCamera_mClipPlaneNear_set")]
+  public static extern void aiCamera_mClipPlaneNear_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiCamera_mClipPlaneNear_get")]
+  public static extern float aiCamera_mClipPlaneNear_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiCamera_mClipPlaneFar_set")]
+  public static extern void aiCamera_mClipPlaneFar_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiCamera_mClipPlaneFar_get")]
+  public static extern float aiCamera_mClipPlaneFar_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiCamera_mAspect_set")]
+  public static extern void aiCamera_mAspect_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiCamera_mAspect_get")]
+  public static extern float aiCamera_mAspect_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiCamera")]
+  public static extern IntPtr new_aiCamera();
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiCamera_GetCameraMatrix")]
+  public static extern void aiCamera_GetCameraMatrix(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_delete_aiCamera")]
+  public static extern void delete_aiCamera(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiLight_mName_set")]
+  public static extern void aiLight_mName_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiLight_mName_get")]
+  public static extern IntPtr aiLight_mName_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiLight_mType_set")]
+  public static extern void aiLight_mType_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiLight_mType_get")]
+  public static extern int aiLight_mType_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiLight_mPosition_set")]
+  public static extern void aiLight_mPosition_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiLight_mPosition_get")]
+  public static extern IntPtr aiLight_mPosition_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiLight_mDirection_set")]
+  public static extern void aiLight_mDirection_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiLight_mDirection_get")]
+  public static extern IntPtr aiLight_mDirection_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiLight_mAttenuationConstant_set")]
+  public static extern void aiLight_mAttenuationConstant_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiLight_mAttenuationConstant_get")]
+  public static extern float aiLight_mAttenuationConstant_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiLight_mAttenuationLinear_set")]
+  public static extern void aiLight_mAttenuationLinear_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiLight_mAttenuationLinear_get")]
+  public static extern float aiLight_mAttenuationLinear_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiLight_mAttenuationQuadratic_set")]
+  public static extern void aiLight_mAttenuationQuadratic_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiLight_mAttenuationQuadratic_get")]
+  public static extern float aiLight_mAttenuationQuadratic_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiLight_mColorDiffuse_set")]
+  public static extern void aiLight_mColorDiffuse_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiLight_mColorDiffuse_get")]
+  public static extern IntPtr aiLight_mColorDiffuse_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiLight_mColorSpecular_set")]
+  public static extern void aiLight_mColorSpecular_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiLight_mColorSpecular_get")]
+  public static extern IntPtr aiLight_mColorSpecular_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiLight_mColorAmbient_set")]
+  public static extern void aiLight_mColorAmbient_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiLight_mColorAmbient_get")]
+  public static extern IntPtr aiLight_mColorAmbient_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiLight_mAngleInnerCone_set")]
+  public static extern void aiLight_mAngleInnerCone_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiLight_mAngleInnerCone_get")]
+  public static extern float aiLight_mAngleInnerCone_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiLight_mAngleOuterCone_set")]
+  public static extern void aiLight_mAngleOuterCone_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiLight_mAngleOuterCone_get")]
+  public static extern float aiLight_mAngleOuterCone_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiLight")]
+  public static extern IntPtr new_aiLight();
+
+  [DllImport("Assimp", EntryPoint="CSharp_delete_aiLight")]
+  public static extern void delete_aiLight(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVectorKey_mTime_set")]
+  public static extern void aiVectorKey_mTime_set(HandleRef jarg1, double jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVectorKey_mTime_get")]
+  public static extern double aiVectorKey_mTime_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVectorKey_mValue_set")]
+  public static extern void aiVectorKey_mValue_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVectorKey_mValue_get")]
+  public static extern IntPtr aiVectorKey_mValue_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiVectorKey__SWIG_0")]
+  public static extern IntPtr new_aiVectorKey__SWIG_0();
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiVectorKey__SWIG_1")]
+  public static extern IntPtr new_aiVectorKey__SWIG_1(double jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVectorKey___equal__")]
+  public static extern bool aiVectorKey___equal__(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVectorKey___nequal__")]
+  public static extern bool aiVectorKey___nequal__(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVectorKey___smaller__")]
+  public static extern bool aiVectorKey___smaller__(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVectorKey___greater__")]
+  public static extern bool aiVectorKey___greater__(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_delete_aiVectorKey")]
+  public static extern void delete_aiVectorKey(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiQuatKey_mTime_set")]
+  public static extern void aiQuatKey_mTime_set(HandleRef jarg1, double jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiQuatKey_mTime_get")]
+  public static extern double aiQuatKey_mTime_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiQuatKey_mValue_set")]
+  public static extern void aiQuatKey_mValue_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiQuatKey_mValue_get")]
+  public static extern IntPtr aiQuatKey_mValue_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiQuatKey__SWIG_0")]
+  public static extern IntPtr new_aiQuatKey__SWIG_0();
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiQuatKey__SWIG_1")]
+  public static extern IntPtr new_aiQuatKey__SWIG_1(double jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiQuatKey___equal__")]
+  public static extern bool aiQuatKey___equal__(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiQuatKey___nequal__")]
+  public static extern bool aiQuatKey___nequal__(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiQuatKey___smaller__")]
+  public static extern bool aiQuatKey___smaller__(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiQuatKey___greater__")]
+  public static extern bool aiQuatKey___greater__(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_delete_aiQuatKey")]
+  public static extern void delete_aiQuatKey(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiNodeAnim_mNodeName_set")]
+  public static extern void aiNodeAnim_mNodeName_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiNodeAnim_mNodeName_get")]
+  public static extern IntPtr aiNodeAnim_mNodeName_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiNodeAnim_mNumPositionKeys_set")]
+  public static extern void aiNodeAnim_mNumPositionKeys_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiNodeAnim_mNumPositionKeys_get")]
+  public static extern uint aiNodeAnim_mNumPositionKeys_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiNodeAnim_mPositionKeys_set")]
+  public static extern void aiNodeAnim_mPositionKeys_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiNodeAnim_mPositionKeys_get")]
+  public static extern IntPtr aiNodeAnim_mPositionKeys_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiNodeAnim_mNumRotationKeys_set")]
+  public static extern void aiNodeAnim_mNumRotationKeys_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiNodeAnim_mNumRotationKeys_get")]
+  public static extern uint aiNodeAnim_mNumRotationKeys_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiNodeAnim_mRotationKeys_set")]
+  public static extern void aiNodeAnim_mRotationKeys_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiNodeAnim_mRotationKeys_get")]
+  public static extern IntPtr aiNodeAnim_mRotationKeys_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiNodeAnim_mNumScalingKeys_set")]
+  public static extern void aiNodeAnim_mNumScalingKeys_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiNodeAnim_mNumScalingKeys_get")]
+  public static extern uint aiNodeAnim_mNumScalingKeys_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiNodeAnim_mScalingKeys_set")]
+  public static extern void aiNodeAnim_mScalingKeys_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiNodeAnim_mScalingKeys_get")]
+  public static extern IntPtr aiNodeAnim_mScalingKeys_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiNodeAnim_mPreState_set")]
+  public static extern void aiNodeAnim_mPreState_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiNodeAnim_mPreState_get")]
+  public static extern int aiNodeAnim_mPreState_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiNodeAnim_mPostState_set")]
+  public static extern void aiNodeAnim_mPostState_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiNodeAnim_mPostState_get")]
+  public static extern int aiNodeAnim_mPostState_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiNodeAnim")]
+  public static extern IntPtr new_aiNodeAnim();
+
+  [DllImport("Assimp", EntryPoint="CSharp_delete_aiNodeAnim")]
+  public static extern void delete_aiNodeAnim(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiAnimation_mName_set")]
+  public static extern void aiAnimation_mName_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiAnimation_mName_get")]
+  public static extern IntPtr aiAnimation_mName_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiAnimation_mDuration_set")]
+  public static extern void aiAnimation_mDuration_set(HandleRef jarg1, double jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiAnimation_mDuration_get")]
+  public static extern double aiAnimation_mDuration_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiAnimation_mTicksPerSecond_set")]
+  public static extern void aiAnimation_mTicksPerSecond_set(HandleRef jarg1, double jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiAnimation_mTicksPerSecond_get")]
+  public static extern double aiAnimation_mTicksPerSecond_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiAnimation_mNumChannels_set")]
+  public static extern void aiAnimation_mNumChannels_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiAnimation_mNumChannels_get")]
+  public static extern uint aiAnimation_mNumChannels_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiAnimation_mChannels_set")]
+  public static extern void aiAnimation_mChannels_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiAnimation_mChannels_get")]
+  public static extern IntPtr aiAnimation_mChannels_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiAnimation")]
+  public static extern IntPtr new_aiAnimation();
+
+  [DllImport("Assimp", EntryPoint="CSharp_delete_aiAnimation")]
+  public static extern void delete_aiAnimation(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiFace_mNumIndices_set")]
+  public static extern void aiFace_mNumIndices_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiFace_mNumIndices_get")]
+  public static extern uint aiFace_mNumIndices_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiFace_mIndices_set")]
+  public static extern void aiFace_mIndices_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiFace_mIndices_get")]
+  public static extern IntPtr aiFace_mIndices_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiFace__SWIG_0")]
+  public static extern IntPtr new_aiFace__SWIG_0();
+
+  [DllImport("Assimp", EntryPoint="CSharp_delete_aiFace")]
+  public static extern void delete_aiFace(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiFace__SWIG_1")]
+  public static extern IntPtr new_aiFace__SWIG_1(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiFace___set__")]
+  public static extern IntPtr aiFace___set__(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiFace___equal__")]
+  public static extern bool aiFace___equal__(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiFace___nequal__")]
+  public static extern bool aiFace___nequal__(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVertexWeight_mVertexId_set")]
+  public static extern void aiVertexWeight_mVertexId_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVertexWeight_mVertexId_get")]
+  public static extern uint aiVertexWeight_mVertexId_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVertexWeight_mWeight_set")]
+  public static extern void aiVertexWeight_mWeight_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiVertexWeight_mWeight_get")]
+  public static extern float aiVertexWeight_mWeight_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiVertexWeight__SWIG_0")]
+  public static extern IntPtr new_aiVertexWeight__SWIG_0();
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiVertexWeight__SWIG_1")]
+  public static extern IntPtr new_aiVertexWeight__SWIG_1(uint jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_delete_aiVertexWeight")]
+  public static extern void delete_aiVertexWeight(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiBone_mName_set")]
+  public static extern void aiBone_mName_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiBone_mName_get")]
+  public static extern IntPtr aiBone_mName_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiBone_mNumWeights_set")]
+  public static extern void aiBone_mNumWeights_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiBone_mNumWeights_get")]
+  public static extern uint aiBone_mNumWeights_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiBone_mWeights_set")]
+  public static extern void aiBone_mWeights_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiBone_mWeights_get")]
+  public static extern IntPtr aiBone_mWeights_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiBone_mOffsetMatrix_set")]
+  public static extern void aiBone_mOffsetMatrix_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiBone_mOffsetMatrix_get")]
+  public static extern IntPtr aiBone_mOffsetMatrix_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiBone__SWIG_0")]
+  public static extern IntPtr new_aiBone__SWIG_0();
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiBone__SWIG_1")]
+  public static extern IntPtr new_aiBone__SWIG_1(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_delete_aiBone")]
+  public static extern void delete_aiBone(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_MAX_NUMBER_OF_COLOR_SETS_get")]
+  public static extern int AI_MAX_NUMBER_OF_COLOR_SETS_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_MAX_NUMBER_OF_TEXTURECOORDS_get")]
+  public static extern int AI_MAX_NUMBER_OF_TEXTURECOORDS_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMesh_mPrimitiveTypes_set")]
+  public static extern void aiMesh_mPrimitiveTypes_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMesh_mPrimitiveTypes_get")]
+  public static extern uint aiMesh_mPrimitiveTypes_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMesh_mNumVertices_set")]
+  public static extern void aiMesh_mNumVertices_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMesh_mNumVertices_get")]
+  public static extern uint aiMesh_mNumVertices_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMesh_mNumFaces_set")]
+  public static extern void aiMesh_mNumFaces_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMesh_mNumFaces_get")]
+  public static extern uint aiMesh_mNumFaces_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMesh_mVertices_set")]
+  public static extern void aiMesh_mVertices_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMesh_mVertices_get")]
+  public static extern IntPtr aiMesh_mVertices_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMesh_mNormals_set")]
+  public static extern void aiMesh_mNormals_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMesh_mNormals_get")]
+  public static extern IntPtr aiMesh_mNormals_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMesh_mTangents_set")]
+  public static extern void aiMesh_mTangents_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMesh_mTangents_get")]
+  public static extern IntPtr aiMesh_mTangents_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMesh_mBitangents_set")]
+  public static extern void aiMesh_mBitangents_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMesh_mBitangents_get")]
+  public static extern IntPtr aiMesh_mBitangents_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMesh_mColors_set")]
+  public static extern void aiMesh_mColors_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMesh_mColors_get")]
+  public static extern IntPtr aiMesh_mColors_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMesh_mTextureCoords_set")]
+  public static extern void aiMesh_mTextureCoords_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMesh_mTextureCoords_get")]
+  public static extern IntPtr aiMesh_mTextureCoords_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMesh_mNumUVComponents_set")]
+  public static extern void aiMesh_mNumUVComponents_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMesh_mNumUVComponents_get")]
+  public static extern IntPtr aiMesh_mNumUVComponents_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMesh_mFaces_set")]
+  public static extern void aiMesh_mFaces_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMesh_mFaces_get")]
+  public static extern IntPtr aiMesh_mFaces_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMesh_mNumBones_set")]
+  public static extern void aiMesh_mNumBones_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMesh_mNumBones_get")]
+  public static extern uint aiMesh_mNumBones_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMesh_mBones_set")]
+  public static extern void aiMesh_mBones_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMesh_mBones_get")]
+  public static extern IntPtr aiMesh_mBones_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMesh_mMaterialIndex_set")]
+  public static extern void aiMesh_mMaterialIndex_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMesh_mMaterialIndex_get")]
+  public static extern uint aiMesh_mMaterialIndex_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiMesh")]
+  public static extern IntPtr new_aiMesh();
+
+  [DllImport("Assimp", EntryPoint="CSharp_delete_aiMesh")]
+  public static extern void delete_aiMesh(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMesh_HasPositions")]
+  public static extern bool aiMesh_HasPositions(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMesh_HasFaces")]
+  public static extern bool aiMesh_HasFaces(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMesh_HasNormals")]
+  public static extern bool aiMesh_HasNormals(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMesh_HasTangentsAndBitangents")]
+  public static extern bool aiMesh_HasTangentsAndBitangents(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMesh_HasVertexColors")]
+  public static extern bool aiMesh_HasVertexColors(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMesh_HasTextureCoords")]
+  public static extern bool aiMesh_HasTextureCoords(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMesh_GetNumUVChannels")]
+  public static extern uint aiMesh_GetNumUVChannels(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMesh_GetNumColorChannels")]
+  public static extern uint aiMesh_GetNumColorChannels(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMesh_HasBones")]
+  public static extern bool aiMesh_HasBones(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiFileIO_OpenProc_set")]
+  public static extern void aiFileIO_OpenProc_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiFileIO_OpenProc_get")]
+  public static extern IntPtr aiFileIO_OpenProc_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiFileIO_CloseProc_set")]
+  public static extern void aiFileIO_CloseProc_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiFileIO_CloseProc_get")]
+  public static extern IntPtr aiFileIO_CloseProc_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiFileIO_UserData_set")]
+  public static extern void aiFileIO_UserData_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiFileIO_UserData_get")]
+  public static extern string aiFileIO_UserData_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiFileIO")]
+  public static extern IntPtr new_aiFileIO();
+
+  [DllImport("Assimp", EntryPoint="CSharp_delete_aiFileIO")]
+  public static extern void delete_aiFileIO(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiFile_ReadProc_set")]
+  public static extern void aiFile_ReadProc_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiFile_ReadProc_get")]
+  public static extern IntPtr aiFile_ReadProc_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiFile_WriteProc_set")]
+  public static extern void aiFile_WriteProc_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiFile_WriteProc_get")]
+  public static extern IntPtr aiFile_WriteProc_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiFile_TellProc_set")]
+  public static extern void aiFile_TellProc_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiFile_TellProc_get")]
+  public static extern IntPtr aiFile_TellProc_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiFile_FileSizeProc_set")]
+  public static extern void aiFile_FileSizeProc_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiFile_FileSizeProc_get")]
+  public static extern IntPtr aiFile_FileSizeProc_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiFile_SeekProc_set")]
+  public static extern void aiFile_SeekProc_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiFile_SeekProc_get")]
+  public static extern IntPtr aiFile_SeekProc_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiFile_FlushProc_set")]
+  public static extern void aiFile_FlushProc_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiFile_FlushProc_get")]
+  public static extern IntPtr aiFile_FlushProc_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiFile_UserData_set")]
+  public static extern void aiFile_UserData_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiFile_UserData_get")]
+  public static extern string aiFile_UserData_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiFile")]
+  public static extern IntPtr new_aiFile();
+
+  [DllImport("Assimp", EntryPoint="CSharp_delete_aiFile")]
+  public static extern void delete_aiFile(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_DEFAULT_MATERIAL_NAME_get")]
+  public static extern string AI_DEFAULT_MATERIAL_NAME_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_DEFAULT_TEXTURED_MATERIAL_NAME_get")]
+  public static extern string AI_DEFAULT_TEXTURED_MATERIAL_NAME_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiUVTransform_mTranslation_set")]
+  public static extern void aiUVTransform_mTranslation_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiUVTransform_mTranslation_get")]
+  public static extern IntPtr aiUVTransform_mTranslation_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiUVTransform_mScaling_set")]
+  public static extern void aiUVTransform_mScaling_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiUVTransform_mScaling_get")]
+  public static extern IntPtr aiUVTransform_mScaling_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiUVTransform_mRotation_set")]
+  public static extern void aiUVTransform_mRotation_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiUVTransform_mRotation_get")]
+  public static extern float aiUVTransform_mRotation_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiUVTransform")]
+  public static extern IntPtr new_aiUVTransform();
+
+  [DllImport("Assimp", EntryPoint="CSharp_delete_aiUVTransform")]
+  public static extern void delete_aiUVTransform(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMaterialProperty_mKey_set")]
+  public static extern void aiMaterialProperty_mKey_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMaterialProperty_mKey_get")]
+  public static extern IntPtr aiMaterialProperty_mKey_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMaterialProperty_mSemantic_set")]
+  public static extern void aiMaterialProperty_mSemantic_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMaterialProperty_mSemantic_get")]
+  public static extern uint aiMaterialProperty_mSemantic_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMaterialProperty_mIndex_set")]
+  public static extern void aiMaterialProperty_mIndex_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMaterialProperty_mIndex_get")]
+  public static extern uint aiMaterialProperty_mIndex_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMaterialProperty_mDataLength_set")]
+  public static extern void aiMaterialProperty_mDataLength_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMaterialProperty_mDataLength_get")]
+  public static extern uint aiMaterialProperty_mDataLength_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMaterialProperty_mType_set")]
+  public static extern void aiMaterialProperty_mType_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMaterialProperty_mType_get")]
+  public static extern int aiMaterialProperty_mType_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMaterialProperty_mData_set")]
+  public static extern void aiMaterialProperty_mData_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMaterialProperty_mData_get")]
+  public static extern string aiMaterialProperty_mData_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiMaterialProperty")]
+  public static extern IntPtr new_aiMaterialProperty();
+
+  [DllImport("Assimp", EntryPoint="CSharp_delete_aiMaterialProperty")]
+  public static extern void delete_aiMaterialProperty(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiMaterial")]
+  public static extern IntPtr new_aiMaterial();
+
+  [DllImport("Assimp", EntryPoint="CSharp_delete_aiMaterial")]
+  public static extern void delete_aiMaterial(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMaterial_GetTextureCount")]
+  public static extern uint aiMaterial_GetTextureCount(HandleRef jarg1, int jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMaterial_GetTexture__SWIG_0")]
+  public static extern int aiMaterial_GetTexture__SWIG_0(HandleRef jarg1, int jarg2, uint jarg3, HandleRef jarg4, HandleRef jarg5, HandleRef jarg6, HandleRef jarg7, HandleRef jarg8, HandleRef jarg9);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMaterial_GetTexture__SWIG_1")]
+  public static extern int aiMaterial_GetTexture__SWIG_1(HandleRef jarg1, int jarg2, uint jarg3, HandleRef jarg4, HandleRef jarg5, HandleRef jarg6, HandleRef jarg7, HandleRef jarg8);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMaterial_GetTexture__SWIG_2")]
+  public static extern int aiMaterial_GetTexture__SWIG_2(HandleRef jarg1, int jarg2, uint jarg3, HandleRef jarg4, HandleRef jarg5, HandleRef jarg6, HandleRef jarg7);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMaterial_GetTexture__SWIG_3")]
+  public static extern int aiMaterial_GetTexture__SWIG_3(HandleRef jarg1, int jarg2, uint jarg3, HandleRef jarg4, HandleRef jarg5, HandleRef jarg6);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMaterial_GetTexture__SWIG_4")]
+  public static extern int aiMaterial_GetTexture__SWIG_4(HandleRef jarg1, int jarg2, uint jarg3, HandleRef jarg4, HandleRef jarg5);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMaterial_GetTexture__SWIG_5")]
+  public static extern int aiMaterial_GetTexture__SWIG_5(HandleRef jarg1, int jarg2, uint jarg3, HandleRef jarg4);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMaterial_mProperties_set")]
+  public static extern void aiMaterial_mProperties_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMaterial_mProperties_get")]
+  public static extern IntPtr aiMaterial_mProperties_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMaterial_mNumProperties_set")]
+  public static extern void aiMaterial_mNumProperties_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMaterial_mNumProperties_get")]
+  public static extern uint aiMaterial_mNumProperties_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMaterial_mNumAllocated_set")]
+  public static extern void aiMaterial_mNumAllocated_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiMaterial_mNumAllocated_get")]
+  public static extern uint aiMaterial_mNumAllocated_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp__AI_MATKEY_TEXTURE_BASE_get")]
+  public static extern string _AI_MATKEY_TEXTURE_BASE_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp__AI_MATKEY_UVWSRC_BASE_get")]
+  public static extern string _AI_MATKEY_UVWSRC_BASE_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp__AI_MATKEY_TEXOP_BASE_get")]
+  public static extern string _AI_MATKEY_TEXOP_BASE_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp__AI_MATKEY_MAPPING_BASE_get")]
+  public static extern string _AI_MATKEY_MAPPING_BASE_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp__AI_MATKEY_TEXBLEND_BASE_get")]
+  public static extern string _AI_MATKEY_TEXBLEND_BASE_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp__AI_MATKEY_MAPPINGMODE_U_BASE_get")]
+  public static extern string _AI_MATKEY_MAPPINGMODE_U_BASE_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp__AI_MATKEY_MAPPINGMODE_V_BASE_get")]
+  public static extern string _AI_MATKEY_MAPPINGMODE_V_BASE_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp__AI_MATKEY_TEXMAP_AXIS_BASE_get")]
+  public static extern string _AI_MATKEY_TEXMAP_AXIS_BASE_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp__AI_MATKEY_UVTRANSFORM_BASE_get")]
+  public static extern string _AI_MATKEY_UVTRANSFORM_BASE_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp__AI_MATKEY_TEXFLAGS_BASE_get")]
+  public static extern string _AI_MATKEY_TEXFLAGS_BASE_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiGetMaterialProperty")]
+  public static extern int aiGetMaterialProperty(HandleRef jarg1, string jarg2, uint jarg3, uint jarg4, HandleRef jarg5);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiGetMaterialFloatArray")]
+  public static extern int aiGetMaterialFloatArray(HandleRef jarg1, string jarg2, uint jarg3, uint jarg4, HandleRef jarg5, HandleRef jarg6);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiGetMaterialFloat")]
+  public static extern int aiGetMaterialFloat(HandleRef jarg1, string jarg2, uint jarg3, uint jarg4, HandleRef jarg5);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiGetMaterialIntegerArray")]
+  public static extern int aiGetMaterialIntegerArray(HandleRef jarg1, string jarg2, uint jarg3, uint jarg4, HandleRef jarg5, HandleRef jarg6);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiGetMaterialInteger")]
+  public static extern int aiGetMaterialInteger(HandleRef jarg1, string jarg2, uint jarg3, uint jarg4, HandleRef jarg5);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiGetMaterialColor")]
+  public static extern int aiGetMaterialColor(HandleRef jarg1, string jarg2, uint jarg3, uint jarg4, HandleRef jarg5);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiGetMaterialString")]
+  public static extern int aiGetMaterialString(HandleRef jarg1, string jarg2, uint jarg3, uint jarg4, HandleRef jarg5);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiGetMaterialTextureCount")]
+  public static extern uint aiGetMaterialTextureCount(HandleRef jarg1, int jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiGetMaterialTexture")]
+  public static extern int aiGetMaterialTexture(HandleRef jarg1, int jarg2, uint jarg3, HandleRef jarg4, HandleRef jarg5, HandleRef jarg6, HandleRef jarg7, HandleRef jarg8, HandleRef jarg9, HandleRef jarg10);
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiQuaternion__SWIG_0")]
+  public static extern IntPtr new_aiQuaternion__SWIG_0();
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiQuaternion__SWIG_1")]
+  public static extern IntPtr new_aiQuaternion__SWIG_1(float jarg1, float jarg2, float jarg3, float jarg4);
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiQuaternion__SWIG_2")]
+  public static extern IntPtr new_aiQuaternion__SWIG_2(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiQuaternion__SWIG_3")]
+  public static extern IntPtr new_aiQuaternion__SWIG_3(float jarg1, float jarg2, float jarg3);
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiQuaternion__SWIG_4")]
+  public static extern IntPtr new_aiQuaternion__SWIG_4(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiQuaternion__SWIG_5")]
+  public static extern IntPtr new_aiQuaternion__SWIG_5(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiQuaternion_GetMatrix")]
+  public static extern IntPtr aiQuaternion_GetMatrix(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiQuaternion___equal__")]
+  public static extern bool aiQuaternion___equal__(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiQuaternion___nequal__")]
+  public static extern bool aiQuaternion___nequal__(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiQuaternion_Normalize")]
+  public static extern IntPtr aiQuaternion_Normalize(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiQuaternion_Conjugate")]
+  public static extern IntPtr aiQuaternion_Conjugate(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiQuaternion_Rotate")]
+  public static extern IntPtr aiQuaternion_Rotate(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiQuaternion___mul__")]
+  public static extern IntPtr aiQuaternion___mul__(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiQuaternion_Interpolate")]
+  public static extern void aiQuaternion_Interpolate(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, float jarg4);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiQuaternion_w_set")]
+  public static extern void aiQuaternion_w_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiQuaternion_w_get")]
+  public static extern float aiQuaternion_w_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiQuaternion_x_set")]
+  public static extern void aiQuaternion_x_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiQuaternion_x_get")]
+  public static extern float aiQuaternion_x_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiQuaternion_y_set")]
+  public static extern void aiQuaternion_y_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiQuaternion_y_get")]
+  public static extern float aiQuaternion_y_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiQuaternion_z_set")]
+  public static extern void aiQuaternion_z_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiQuaternion_z_get")]
+  public static extern float aiQuaternion_z_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_delete_aiQuaternion")]
+  public static extern void delete_aiQuaternion(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiNode_mName_set")]
+  public static extern void aiNode_mName_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiNode_mName_get")]
+  public static extern IntPtr aiNode_mName_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiNode_mTransformation_set")]
+  public static extern void aiNode_mTransformation_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiNode_mTransformation_get")]
+  public static extern IntPtr aiNode_mTransformation_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiNode_mParent_set")]
+  public static extern void aiNode_mParent_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiNode_mParent_get")]
+  public static extern IntPtr aiNode_mParent_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiNode_mNumChildren_set")]
+  public static extern void aiNode_mNumChildren_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiNode_mNumChildren_get")]
+  public static extern uint aiNode_mNumChildren_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiNode_mChildren_set")]
+  public static extern void aiNode_mChildren_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiNode_mChildren_get")]
+  public static extern IntPtr aiNode_mChildren_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiNode_mNumMeshes_set")]
+  public static extern void aiNode_mNumMeshes_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiNode_mNumMeshes_get")]
+  public static extern uint aiNode_mNumMeshes_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiNode_mMeshes_set")]
+  public static extern void aiNode_mMeshes_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiNode_mMeshes_get")]
+  public static extern IntPtr aiNode_mMeshes_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiNode__SWIG_0")]
+  public static extern IntPtr new_aiNode__SWIG_0();
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiNode__SWIG_1")]
+  public static extern IntPtr new_aiNode__SWIG_1(string jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_delete_aiNode")]
+  public static extern void delete_aiNode(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiNode_FindNode__SWIG_0")]
+  public static extern IntPtr aiNode_FindNode__SWIG_0(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiNode_FindNode__SWIG_1")]
+  public static extern IntPtr aiNode_FindNode__SWIG_1(HandleRef jarg1, string jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_SCENE_FLAGS_INCOMPLETE_get")]
+  public static extern int AI_SCENE_FLAGS_INCOMPLETE_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_SCENE_FLAGS_VALIDATED_get")]
+  public static extern int AI_SCENE_FLAGS_VALIDATED_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_SCENE_FLAGS_VALIDATION_WARNING_get")]
+  public static extern int AI_SCENE_FLAGS_VALIDATION_WARNING_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_SCENE_FLAGS_NON_VERBOSE_FORMAT_get")]
+  public static extern int AI_SCENE_FLAGS_NON_VERBOSE_FORMAT_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_SCENE_FLAGS_TERRAIN_get")]
+  public static extern int AI_SCENE_FLAGS_TERRAIN_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiScene_mFlags_set")]
+  public static extern void aiScene_mFlags_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiScene_mFlags_get")]
+  public static extern uint aiScene_mFlags_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiScene_mRootNode_set")]
+  public static extern void aiScene_mRootNode_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiScene_mRootNode_get")]
+  public static extern IntPtr aiScene_mRootNode_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiScene_mNumMeshes_set")]
+  public static extern void aiScene_mNumMeshes_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiScene_mNumMeshes_get")]
+  public static extern uint aiScene_mNumMeshes_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiScene_mMeshes_set")]
+  public static extern void aiScene_mMeshes_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiScene_mMeshes_get")]
+  public static extern IntPtr aiScene_mMeshes_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiScene_mNumMaterials_set")]
+  public static extern void aiScene_mNumMaterials_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiScene_mNumMaterials_get")]
+  public static extern uint aiScene_mNumMaterials_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiScene_mMaterials_set")]
+  public static extern void aiScene_mMaterials_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiScene_mMaterials_get")]
+  public static extern IntPtr aiScene_mMaterials_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiScene_mNumAnimations_set")]
+  public static extern void aiScene_mNumAnimations_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiScene_mNumAnimations_get")]
+  public static extern uint aiScene_mNumAnimations_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiScene_mAnimations_set")]
+  public static extern void aiScene_mAnimations_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiScene_mAnimations_get")]
+  public static extern IntPtr aiScene_mAnimations_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiScene_mNumTextures_set")]
+  public static extern void aiScene_mNumTextures_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiScene_mNumTextures_get")]
+  public static extern uint aiScene_mNumTextures_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiScene_mTextures_set")]
+  public static extern void aiScene_mTextures_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiScene_mTextures_get")]
+  public static extern IntPtr aiScene_mTextures_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiScene_mNumLights_set")]
+  public static extern void aiScene_mNumLights_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiScene_mNumLights_get")]
+  public static extern uint aiScene_mNumLights_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiScene_mLights_set")]
+  public static extern void aiScene_mLights_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiScene_mLights_get")]
+  public static extern IntPtr aiScene_mLights_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiScene_mNumCameras_set")]
+  public static extern void aiScene_mNumCameras_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiScene_mNumCameras_get")]
+  public static extern uint aiScene_mNumCameras_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiScene_mCameras_set")]
+  public static extern void aiScene_mCameras_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiScene_mCameras_get")]
+  public static extern IntPtr aiScene_mCameras_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiScene")]
+  public static extern IntPtr new_aiScene();
+
+  [DllImport("Assimp", EntryPoint="CSharp_delete_aiScene")]
+  public static extern void delete_aiScene(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiScene_HasMeshes")]
+  public static extern bool aiScene_HasMeshes(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiScene_HasMaterials")]
+  public static extern bool aiScene_HasMaterials(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiScene_HasLights")]
+  public static extern bool aiScene_HasLights(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiScene_HasTextures")]
+  public static extern bool aiScene_HasTextures(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiScene_HasCameras")]
+  public static extern bool aiScene_HasCameras(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiScene_HasAnimations")]
+  public static extern bool aiScene_HasAnimations(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiTexel_b_set")]
+  public static extern void aiTexel_b_set(HandleRef jarg1, byte jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiTexel_b_get")]
+  public static extern byte aiTexel_b_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiTexel_g_set")]
+  public static extern void aiTexel_g_set(HandleRef jarg1, byte jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiTexel_g_get")]
+  public static extern byte aiTexel_g_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiTexel_r_set")]
+  public static extern void aiTexel_r_set(HandleRef jarg1, byte jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiTexel_r_get")]
+  public static extern byte aiTexel_r_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiTexel_a_set")]
+  public static extern void aiTexel_a_set(HandleRef jarg1, byte jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiTexel_a_get")]
+  public static extern byte aiTexel_a_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiTexel___equal__")]
+  public static extern bool aiTexel___equal__(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiTexel___nequal__")]
+  public static extern bool aiTexel___nequal__(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiTexel")]
+  public static extern IntPtr new_aiTexel();
+
+  [DllImport("Assimp", EntryPoint="CSharp_delete_aiTexel")]
+  public static extern void delete_aiTexel(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiTexture_mWidth_set")]
+  public static extern void aiTexture_mWidth_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiTexture_mWidth_get")]
+  public static extern uint aiTexture_mWidth_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiTexture_mHeight_set")]
+  public static extern void aiTexture_mHeight_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiTexture_mHeight_get")]
+  public static extern uint aiTexture_mHeight_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiTexture_achFormatHint_set")]
+  public static extern void aiTexture_achFormatHint_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiTexture_achFormatHint_get")]
+  public static extern string aiTexture_achFormatHint_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiTexture_pcData_set")]
+  public static extern void aiTexture_pcData_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiTexture_pcData_get")]
+  public static extern IntPtr aiTexture_pcData_get(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiTexture_CheckFormat")]
+  public static extern bool aiTexture_CheckFormat(HandleRef jarg1, string jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_aiTexture")]
+  public static extern IntPtr new_aiTexture();
+
+  [DllImport("Assimp", EntryPoint="CSharp_delete_aiTexture")]
+  public static extern void delete_aiTexture(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_AI_PROPERTY_WAS_NOT_EXISTING_get")]
+  public static extern int AI_PROPERTY_WAS_NOT_EXISTING_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiImportFileEx")]
+  public static extern IntPtr aiImportFileEx(string jarg1, uint jarg2, HandleRef jarg3);
+
+  [DllImport("Assimp", EntryPoint="CSharp_aiImportFileFromMemory")]
+  public static extern IntPtr aiImportFileFromMemory(string jarg1, uint jarg2, uint jarg3, string jarg4);
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_Importer__SWIG_0")]
+  public static extern IntPtr new_Importer__SWIG_0();
+
+  [DllImport("Assimp", EntryPoint="CSharp_new_Importer__SWIG_1")]
+  public static extern IntPtr new_Importer__SWIG_1(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_delete_Importer")]
+  public static extern void delete_Importer(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_Importer_RegisterLoader")]
+  public static extern int Importer_RegisterLoader(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_Importer_UnregisterLoader")]
+  public static extern int Importer_UnregisterLoader(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_Importer_RegisterPPStep")]
+  public static extern int Importer_RegisterPPStep(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_Importer_UnregisterPPStep")]
+  public static extern int Importer_UnregisterPPStep(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_Importer_SetPropertyInteger__SWIG_0")]
+  public static extern void Importer_SetPropertyInteger__SWIG_0(HandleRef jarg1, string jarg2, int jarg3, HandleRef jarg4);
+
+  [DllImport("Assimp", EntryPoint="CSharp_Importer_SetPropertyInteger__SWIG_1")]
+  public static extern void Importer_SetPropertyInteger__SWIG_1(HandleRef jarg1, string jarg2, int jarg3);
+
+  [DllImport("Assimp", EntryPoint="CSharp_Importer_SetPropertyFloat__SWIG_0")]
+  public static extern void Importer_SetPropertyFloat__SWIG_0(HandleRef jarg1, string jarg2, float jarg3, HandleRef jarg4);
+
+  [DllImport("Assimp", EntryPoint="CSharp_Importer_SetPropertyFloat__SWIG_1")]
+  public static extern void Importer_SetPropertyFloat__SWIG_1(HandleRef jarg1, string jarg2, float jarg3);
+
+  [DllImport("Assimp", EntryPoint="CSharp_Importer_SetPropertyString__SWIG_0")]
+  public static extern void Importer_SetPropertyString__SWIG_0(HandleRef jarg1, string jarg2, string jarg3, HandleRef jarg4);
+
+  [DllImport("Assimp", EntryPoint="CSharp_Importer_SetPropertyString__SWIG_1")]
+  public static extern void Importer_SetPropertyString__SWIG_1(HandleRef jarg1, string jarg2, string jarg3);
+
+  [DllImport("Assimp", EntryPoint="CSharp_Importer_GetPropertyInteger__SWIG_0")]
+  public static extern int Importer_GetPropertyInteger__SWIG_0(HandleRef jarg1, string jarg2, int jarg3);
+
+  [DllImport("Assimp", EntryPoint="CSharp_Importer_GetPropertyInteger__SWIG_1")]
+  public static extern int Importer_GetPropertyInteger__SWIG_1(HandleRef jarg1, string jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_Importer_GetPropertyFloat__SWIG_0")]
+  public static extern float Importer_GetPropertyFloat__SWIG_0(HandleRef jarg1, string jarg2, float jarg3);
+
+  [DllImport("Assimp", EntryPoint="CSharp_Importer_GetPropertyFloat__SWIG_1")]
+  public static extern float Importer_GetPropertyFloat__SWIG_1(HandleRef jarg1, string jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_Importer_GetPropertyString__SWIG_0")]
+  public static extern string Importer_GetPropertyString__SWIG_0(HandleRef jarg1, string jarg2, string jarg3);
+
+  [DllImport("Assimp", EntryPoint="CSharp_Importer_GetPropertyString__SWIG_1")]
+  public static extern string Importer_GetPropertyString__SWIG_1(HandleRef jarg1, string jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_Importer_SetIOHandler")]
+  public static extern void Importer_SetIOHandler(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_Importer_GetIOHandler")]
+  public static extern IntPtr Importer_GetIOHandler(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_Importer_IsDefaultIOHandler")]
+  public static extern bool Importer_IsDefaultIOHandler(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_Importer_ValidateFlags")]
+  public static extern bool Importer_ValidateFlags(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_Importer_ReadFile__SWIG_0")]
+  public static extern IntPtr Importer_ReadFile__SWIG_0(HandleRef jarg1, string jarg2, uint jarg3);
+
+  [DllImport("Assimp", EntryPoint="CSharp_Importer_ReadFileFromMemory__SWIG_0")]
+  public static extern IntPtr Importer_ReadFileFromMemory__SWIG_0(HandleRef jarg1, HandleRef jarg2, uint jarg3, uint jarg4, string jarg5);
+
+  [DllImport("Assimp", EntryPoint="CSharp_Importer_ReadFileFromMemory__SWIG_1")]
+  public static extern IntPtr Importer_ReadFileFromMemory__SWIG_1(HandleRef jarg1, HandleRef jarg2, uint jarg3, uint jarg4);
+
+  [DllImport("Assimp", EntryPoint="CSharp_Importer_ApplyPostProcessing")]
+  public static extern IntPtr Importer_ApplyPostProcessing(HandleRef jarg1, uint jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_Importer_FreeScene")]
+  public static extern void Importer_FreeScene(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_Importer_GetErrorString")]
+  public static extern string Importer_GetErrorString(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_Importer_IsExtensionSupported__SWIG_0")]
+  public static extern bool Importer_IsExtensionSupported__SWIG_0(HandleRef jarg1, string jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_Importer_GetExtensionList__SWIG_0")]
+  public static extern void Importer_GetExtensionList__SWIG_0(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_Importer_GetExtensionList__SWIG_1")]
+  public static extern void Importer_GetExtensionList__SWIG_1(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_Importer_FindLoader")]
+  public static extern IntPtr Importer_FindLoader(HandleRef jarg1, string jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_Importer_GetScene")]
+  public static extern IntPtr Importer_GetScene(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_Importer_GetOrphanedScene")]
+  public static extern IntPtr Importer_GetOrphanedScene(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_Importer_GetMemoryRequirements")]
+  public static extern void Importer_GetMemoryRequirements(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_Importer_SetExtraVerbose")]
+  public static extern void Importer_SetExtraVerbose(HandleRef jarg1, bool jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_delete_IOSystem")]
+  public static extern void delete_IOSystem(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_IOSystem_Exists__SWIG_0")]
+  public static extern bool IOSystem_Exists__SWIG_0(HandleRef jarg1, string jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_IOSystem_getOsSeparator")]
+  public static extern char IOSystem_getOsSeparator(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_IOSystem_Open__SWIG_0")]
+  public static extern IntPtr IOSystem_Open__SWIG_0(HandleRef jarg1, string jarg2, string jarg3);
+
+  [DllImport("Assimp", EntryPoint="CSharp_IOSystem_Open__SWIG_1")]
+  public static extern IntPtr IOSystem_Open__SWIG_1(HandleRef jarg1, string jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_IOSystem_Close")]
+  public static extern void IOSystem_Close(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_IOSystem_ComparePaths__SWIG_0")]
+  public static extern bool IOSystem_ComparePaths__SWIG_0(HandleRef jarg1, string jarg2, string jarg3);
+
+  [DllImport("Assimp", EntryPoint="CSharp_delete_IOStream")]
+  public static extern void delete_IOStream(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_IOStream_Read")]
+  public static extern uint IOStream_Read(HandleRef jarg1, HandleRef jarg2, uint jarg3, uint jarg4);
+
+  [DllImport("Assimp", EntryPoint="CSharp_IOStream_Write")]
+  public static extern uint IOStream_Write(HandleRef jarg1, HandleRef jarg2, uint jarg3, uint jarg4);
+
+  [DllImport("Assimp", EntryPoint="CSharp_IOStream_Seek")]
+  public static extern int IOStream_Seek(HandleRef jarg1, uint jarg2, int jarg3);
+
+  [DllImport("Assimp", EntryPoint="CSharp_IOStream_Tell")]
+  public static extern uint IOStream_Tell(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_IOStream_FileSize")]
+  public static extern uint IOStream_FileSize(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_IOStream_Flush")]
+  public static extern void IOStream_Flush(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_MAX_LOG_MESSAGE_LENGTH_get")]
+  public static extern uint MAX_LOG_MESSAGE_LENGTH_get();
+
+  [DllImport("Assimp", EntryPoint="CSharp_delete_Logger")]
+  public static extern void delete_Logger(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_Logger_debug")]
+  public static extern void Logger_debug(HandleRef jarg1, string jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_Logger_info")]
+  public static extern void Logger_info(HandleRef jarg1, string jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_Logger_warn")]
+  public static extern void Logger_warn(HandleRef jarg1, string jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_Logger_error")]
+  public static extern void Logger_error(HandleRef jarg1, string jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_Logger_setLogSeverity")]
+  public static extern void Logger_setLogSeverity(HandleRef jarg1, int jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_Logger_getLogSeverity")]
+  public static extern int Logger_getLogSeverity(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_Logger_attachStream__SWIG_0")]
+  public static extern bool Logger_attachStream__SWIG_0(HandleRef jarg1, HandleRef jarg2, uint jarg3);
+
+  [DllImport("Assimp", EntryPoint="CSharp_Logger_attachStream__SWIG_1")]
+  public static extern bool Logger_attachStream__SWIG_1(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_Logger_detatchStream__SWIG_0")]
+  public static extern bool Logger_detatchStream__SWIG_0(HandleRef jarg1, HandleRef jarg2, uint jarg3);
+
+  [DllImport("Assimp", EntryPoint="CSharp_Logger_detatchStream__SWIG_1")]
+  public static extern bool Logger_detatchStream__SWIG_1(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_delete_LogStream")]
+  public static extern void delete_LogStream(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_LogStream_write")]
+  public static extern void LogStream_write(HandleRef jarg1, string jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_LogStream_createDefaultStream__SWIG_0")]
+  public static extern IntPtr LogStream_createDefaultStream__SWIG_0(int jarg1, string jarg2, HandleRef jarg3);
+
+  [DllImport("Assimp", EntryPoint="CSharp_LogStream_createDefaultStream__SWIG_1")]
+  public static extern IntPtr LogStream_createDefaultStream__SWIG_1(int jarg1, string jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_LogStream_createDefaultStream__SWIG_2")]
+  public static extern IntPtr LogStream_createDefaultStream__SWIG_2(int jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_NullLogger_OnDebug")]
+  public static extern void NullLogger_OnDebug(HandleRef jarg1, string jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_NullLogger_OnInfo")]
+  public static extern void NullLogger_OnInfo(HandleRef jarg1, string jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_NullLogger_OnWarn")]
+  public static extern void NullLogger_OnWarn(HandleRef jarg1, string jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_NullLogger_OnError")]
+  public static extern void NullLogger_OnError(HandleRef jarg1, string jarg2);
+
+  [DllImport("Assimp", EntryPoint="CSharp_NullLogger_attachStream")]
+  public static extern bool NullLogger_attachStream(HandleRef jarg1, HandleRef jarg2, uint jarg3);
+
+  [DllImport("Assimp", EntryPoint="CSharp_NullLogger_detatchStream")]
+  public static extern bool NullLogger_detatchStream(HandleRef jarg1, HandleRef jarg2, uint jarg3);
+
+  [DllImport("Assimp", EntryPoint="CSharp_delete_NullLogger")]
+  public static extern void delete_NullLogger(HandleRef jarg1);
+
+  [DllImport("Assimp", EntryPoint="CSharp_IOSystemUpcast")]
+  public static extern IntPtr IOSystemUpcast(IntPtr objectRef);
+
+  [DllImport("Assimp", EntryPoint="CSharp_IOStreamUpcast")]
+  public static extern IntPtr IOStreamUpcast(IntPtr objectRef);
+
+  [DllImport("Assimp", EntryPoint="CSharp_LoggerUpcast")]
+  public static extern IntPtr LoggerUpcast(IntPtr objectRef);
+
+  [DllImport("Assimp", EntryPoint="CSharp_LogStreamUpcast")]
+  public static extern IntPtr LogStreamUpcast(IntPtr objectRef);
+
+  [DllImport("Assimp", EntryPoint="CSharp_NullLoggerUpcast")]
+  public static extern IntPtr NullLoggerUpcast(IntPtr objectRef);
+}

+ 71 - 0
port/Assimp.NET/Assimp.NET_CS/IOStream.cs

@@ -0,0 +1,71 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class IOStream : AllocateFromAssimpHeap {
+  private HandleRef swigCPtr;
+
+  internal IOStream(IntPtr cPtr, bool cMemoryOwn) : base(AssimpPINVOKE.IOStreamUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(IOStream obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~IOStream() {
+    Dispose();
+  }
+
+  public override void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          AssimpPINVOKE.delete_IOStream(swigCPtr);
+        }
+        swigCPtr = new HandleRef(null, IntPtr.Zero);
+      }
+      GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+  public virtual uint Read(SWIGTYPE_p_void pvBuffer, uint pSize, uint pCount) {
+    uint ret = AssimpPINVOKE.IOStream_Read(swigCPtr, SWIGTYPE_p_void.getCPtr(pvBuffer), pSize, pCount);
+    return ret;
+  }
+
+  public virtual uint Write(SWIGTYPE_p_void pvBuffer, uint pSize, uint pCount) {
+    uint ret = AssimpPINVOKE.IOStream_Write(swigCPtr, SWIGTYPE_p_void.getCPtr(pvBuffer), pSize, pCount);
+    return ret;
+  }
+
+  public virtual aiReturn Seek(uint pOffset, aiOrigin pOrigin) {
+    aiReturn ret = (aiReturn)AssimpPINVOKE.IOStream_Seek(swigCPtr, pOffset, (int)pOrigin);
+    return ret;
+  }
+
+  public virtual uint Tell() {
+    uint ret = AssimpPINVOKE.IOStream_Tell(swigCPtr);
+    return ret;
+  }
+
+  public virtual uint FileSize() {
+    uint ret = AssimpPINVOKE.IOStream_FileSize(swigCPtr);
+    return ret;
+  }
+
+  public virtual void Flush() {
+    AssimpPINVOKE.IOStream_Flush(swigCPtr);
+  }
+
+}

+ 74 - 0
port/Assimp.NET/Assimp.NET_CS/IOSystem.cs

@@ -0,0 +1,74 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class IOSystem : AllocateFromAssimpHeap {
+  private HandleRef swigCPtr;
+
+  internal IOSystem(IntPtr cPtr, bool cMemoryOwn) : base(AssimpPINVOKE.IOSystemUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(IOSystem obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~IOSystem() {
+    Dispose();
+  }
+
+  public override void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          AssimpPINVOKE.delete_IOSystem(swigCPtr);
+        }
+        swigCPtr = new HandleRef(null, IntPtr.Zero);
+      }
+      GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+  public bool Exists(string pFile) {
+    bool ret = AssimpPINVOKE.IOSystem_Exists__SWIG_0(swigCPtr, pFile);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public virtual char getOsSeparator() {
+    char ret = AssimpPINVOKE.IOSystem_getOsSeparator(swigCPtr);
+    return ret;
+  }
+
+  public virtual IOStream Open(string pFile, string pMode) {
+    IntPtr cPtr = AssimpPINVOKE.IOSystem_Open__SWIG_0(swigCPtr, pFile, pMode);
+    IOStream ret = (cPtr == IntPtr.Zero) ? null : new IOStream(cPtr, false);
+    return ret;
+  }
+
+  public virtual IOStream Open(string pFile) {
+    IntPtr cPtr = AssimpPINVOKE.IOSystem_Open__SWIG_1(swigCPtr, pFile);
+    IOStream ret = (cPtr == IntPtr.Zero) ? null : new IOStream(cPtr, false);
+    return ret;
+  }
+
+  public virtual void Close(IOStream pFile) {
+    AssimpPINVOKE.IOSystem_Close(swigCPtr, IOStream.getCPtr(pFile));
+  }
+
+  public virtual bool ComparePaths(string one, string second) {
+    bool ret = AssimpPINVOKE.IOSystem_ComparePaths__SWIG_0(swigCPtr, one, second);
+    return ret;
+  }
+
+}

+ 222 - 0
port/Assimp.NET/Assimp.NET_CS/Importer.cs

@@ -0,0 +1,222 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class Importer : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal Importer(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(Importer obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~Importer() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          AssimpPINVOKE.delete_Importer(swigCPtr);
+        }
+        swigCPtr = new HandleRef(null, IntPtr.Zero);
+      }
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public Importer() : this(AssimpPINVOKE.new_Importer__SWIG_0(), true) {
+  }
+
+  public Importer(Importer other) : this(AssimpPINVOKE.new_Importer__SWIG_1(Importer.getCPtr(other)), true) {
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public aiReturn RegisterLoader(SWIGTYPE_p_Assimp__BaseImporter pImp) {
+    aiReturn ret = (aiReturn)AssimpPINVOKE.Importer_RegisterLoader(swigCPtr, SWIGTYPE_p_Assimp__BaseImporter.getCPtr(pImp));
+    return ret;
+  }
+
+  public aiReturn UnregisterLoader(SWIGTYPE_p_Assimp__BaseImporter pImp) {
+    aiReturn ret = (aiReturn)AssimpPINVOKE.Importer_UnregisterLoader(swigCPtr, SWIGTYPE_p_Assimp__BaseImporter.getCPtr(pImp));
+    return ret;
+  }
+
+  public aiReturn RegisterPPStep(SWIGTYPE_p_Assimp__BaseProcess pImp) {
+    aiReturn ret = (aiReturn)AssimpPINVOKE.Importer_RegisterPPStep(swigCPtr, SWIGTYPE_p_Assimp__BaseProcess.getCPtr(pImp));
+    return ret;
+  }
+
+  public aiReturn UnregisterPPStep(SWIGTYPE_p_Assimp__BaseProcess pImp) {
+    aiReturn ret = (aiReturn)AssimpPINVOKE.Importer_UnregisterPPStep(swigCPtr, SWIGTYPE_p_Assimp__BaseProcess.getCPtr(pImp));
+    return ret;
+  }
+
+  public void SetPropertyInteger(string szName, int iValue, SWIGTYPE_p_bool bWasExisting) {
+    AssimpPINVOKE.Importer_SetPropertyInteger__SWIG_0(swigCPtr, szName, iValue, SWIGTYPE_p_bool.getCPtr(bWasExisting));
+  }
+
+  public void SetPropertyInteger(string szName, int iValue) {
+    AssimpPINVOKE.Importer_SetPropertyInteger__SWIG_1(swigCPtr, szName, iValue);
+  }
+
+  public void SetPropertyFloat(string szName, float fValue, SWIGTYPE_p_bool bWasExisting) {
+    AssimpPINVOKE.Importer_SetPropertyFloat__SWIG_0(swigCPtr, szName, fValue, SWIGTYPE_p_bool.getCPtr(bWasExisting));
+  }
+
+  public void SetPropertyFloat(string szName, float fValue) {
+    AssimpPINVOKE.Importer_SetPropertyFloat__SWIG_1(swigCPtr, szName, fValue);
+  }
+
+  public void SetPropertyString(string szName, string sValue, SWIGTYPE_p_bool bWasExisting) {
+    AssimpPINVOKE.Importer_SetPropertyString__SWIG_0(swigCPtr, szName, sValue, SWIGTYPE_p_bool.getCPtr(bWasExisting));
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetPropertyString(string szName, string sValue) {
+    AssimpPINVOKE.Importer_SetPropertyString__SWIG_1(swigCPtr, szName, sValue);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public int GetPropertyInteger(string szName, int iErrorReturn) {
+    int ret = AssimpPINVOKE.Importer_GetPropertyInteger__SWIG_0(swigCPtr, szName, iErrorReturn);
+    return ret;
+  }
+
+  public int GetPropertyInteger(string szName) {
+    int ret = AssimpPINVOKE.Importer_GetPropertyInteger__SWIG_1(swigCPtr, szName);
+    return ret;
+  }
+
+  public float GetPropertyFloat(string szName, float fErrorReturn) {
+    float ret = AssimpPINVOKE.Importer_GetPropertyFloat__SWIG_0(swigCPtr, szName, fErrorReturn);
+    return ret;
+  }
+
+  public float GetPropertyFloat(string szName) {
+    float ret = AssimpPINVOKE.Importer_GetPropertyFloat__SWIG_1(swigCPtr, szName);
+    return ret;
+  }
+
+  public string GetPropertyString(string szName, string sErrorReturn) {
+    string ret = AssimpPINVOKE.Importer_GetPropertyString__SWIG_0(swigCPtr, szName, sErrorReturn);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public string GetPropertyString(string szName) {
+    string ret = AssimpPINVOKE.Importer_GetPropertyString__SWIG_1(swigCPtr, szName);
+    return ret;
+  }
+
+  public void SetIOHandler(IOSystem pIOHandler) {
+    AssimpPINVOKE.Importer_SetIOHandler(swigCPtr, IOSystem.getCPtr(pIOHandler));
+  }
+
+  public IOSystem GetIOHandler() {
+    IntPtr cPtr = AssimpPINVOKE.Importer_GetIOHandler(swigCPtr);
+    IOSystem ret = (cPtr == IntPtr.Zero) ? null : new IOSystem(cPtr, false);
+    return ret;
+  }
+
+  public bool IsDefaultIOHandler() {
+    bool ret = AssimpPINVOKE.Importer_IsDefaultIOHandler(swigCPtr);
+    return ret;
+  }
+
+  public bool ValidateFlags(uint pFlags) {
+    bool ret = AssimpPINVOKE.Importer_ValidateFlags(swigCPtr, pFlags);
+    return ret;
+  }
+
+  public aiScene ReadFile(string pFile, uint pFlags) {
+    IntPtr cPtr = AssimpPINVOKE.Importer_ReadFile__SWIG_0(swigCPtr, pFile, pFlags);
+    aiScene ret = (cPtr == IntPtr.Zero) ? null : new aiScene(cPtr, false);
+    return ret;
+  }
+
+  public aiScene ReadFileFromMemory(SWIGTYPE_p_void pBuffer, uint pLength, uint pFlags, string pHint) {
+    IntPtr cPtr = AssimpPINVOKE.Importer_ReadFileFromMemory__SWIG_0(swigCPtr, SWIGTYPE_p_void.getCPtr(pBuffer), pLength, pFlags, pHint);
+    aiScene ret = (cPtr == IntPtr.Zero) ? null : new aiScene(cPtr, false);
+    return ret;
+  }
+
+  public aiScene ReadFileFromMemory(SWIGTYPE_p_void pBuffer, uint pLength, uint pFlags) {
+    IntPtr cPtr = AssimpPINVOKE.Importer_ReadFileFromMemory__SWIG_1(swigCPtr, SWIGTYPE_p_void.getCPtr(pBuffer), pLength, pFlags);
+    aiScene ret = (cPtr == IntPtr.Zero) ? null : new aiScene(cPtr, false);
+    return ret;
+  }
+
+  public aiScene ApplyPostProcessing(uint pFlags) {
+    IntPtr cPtr = AssimpPINVOKE.Importer_ApplyPostProcessing(swigCPtr, pFlags);
+    aiScene ret = (cPtr == IntPtr.Zero) ? null : new aiScene(cPtr, false);
+    return ret;
+  }
+
+  public void FreeScene() {
+    AssimpPINVOKE.Importer_FreeScene(swigCPtr);
+  }
+
+  public string GetErrorString() {
+    string ret = AssimpPINVOKE.Importer_GetErrorString(swigCPtr);
+    return ret;
+  }
+
+  public bool IsExtensionSupported(string szExtension) {
+    bool ret = AssimpPINVOKE.Importer_IsExtensionSupported__SWIG_0(swigCPtr, szExtension);
+    return ret;
+  }
+
+  public void GetExtensionList(aiString szOut) {
+    AssimpPINVOKE.Importer_GetExtensionList__SWIG_0(swigCPtr, aiString.getCPtr(szOut));
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void GetExtensionList(SWIGTYPE_p_std__string szOut) {
+    AssimpPINVOKE.Importer_GetExtensionList__SWIG_1(swigCPtr, SWIGTYPE_p_std__string.getCPtr(szOut));
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public SWIGTYPE_p_Assimp__BaseImporter FindLoader(string szExtension) {
+    IntPtr cPtr = AssimpPINVOKE.Importer_FindLoader(swigCPtr, szExtension);
+    SWIGTYPE_p_Assimp__BaseImporter ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_Assimp__BaseImporter(cPtr, false);
+    return ret;
+  }
+
+  public aiScene GetScene() {
+    IntPtr cPtr = AssimpPINVOKE.Importer_GetScene(swigCPtr);
+    aiScene ret = (cPtr == IntPtr.Zero) ? null : new aiScene(cPtr, false);
+    return ret;
+  }
+
+  public aiScene GetOrphanedScene() {
+    IntPtr cPtr = AssimpPINVOKE.Importer_GetOrphanedScene(swigCPtr);
+    aiScene ret = (cPtr == IntPtr.Zero) ? null : new aiScene(cPtr, false);
+    return ret;
+  }
+
+  public void GetMemoryRequirements(aiMemoryInfo arg0) {
+    AssimpPINVOKE.Importer_GetMemoryRequirements(swigCPtr, aiMemoryInfo.getCPtr(arg0));
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetExtraVerbose(bool bDo) {
+    AssimpPINVOKE.Importer_SetExtraVerbose(swigCPtr, bDo);
+  }
+
+}

+ 64 - 0
port/Assimp.NET/Assimp.NET_CS/LogStream.cs

@@ -0,0 +1,64 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class LogStream : AllocateFromAssimpHeap {
+  private HandleRef swigCPtr;
+
+  internal LogStream(IntPtr cPtr, bool cMemoryOwn) : base(AssimpPINVOKE.LogStreamUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(LogStream obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~LogStream() {
+    Dispose();
+  }
+
+  public override void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          AssimpPINVOKE.delete_LogStream(swigCPtr);
+        }
+        swigCPtr = new HandleRef(null, IntPtr.Zero);
+      }
+      GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+  public virtual void write(string message) {
+    AssimpPINVOKE.LogStream_write(swigCPtr, message);
+  }
+
+  public static LogStream createDefaultStream(aiDefaultLogStream stream, string name, IOSystem io) {
+    IntPtr cPtr = AssimpPINVOKE.LogStream_createDefaultStream__SWIG_0((int)stream, name, IOSystem.getCPtr(io));
+    LogStream ret = (cPtr == IntPtr.Zero) ? null : new LogStream(cPtr, false);
+    return ret;
+  }
+
+  public static LogStream createDefaultStream(aiDefaultLogStream stream, string name) {
+    IntPtr cPtr = AssimpPINVOKE.LogStream_createDefaultStream__SWIG_1((int)stream, name);
+    LogStream ret = (cPtr == IntPtr.Zero) ? null : new LogStream(cPtr, false);
+    return ret;
+  }
+
+  public static LogStream createDefaultStream(aiDefaultLogStream stream) {
+    IntPtr cPtr = AssimpPINVOKE.LogStream_createDefaultStream__SWIG_2((int)stream);
+    LogStream ret = (cPtr == IntPtr.Zero) ? null : new LogStream(cPtr, false);
+    return ret;
+  }
+
+}

+ 103 - 0
port/Assimp.NET/Assimp.NET_CS/Logger.cs

@@ -0,0 +1,103 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class Logger : AllocateFromAssimpHeap {
+  private HandleRef swigCPtr;
+
+  internal Logger(IntPtr cPtr, bool cMemoryOwn) : base(AssimpPINVOKE.LoggerUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(Logger obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~Logger() {
+    Dispose();
+  }
+
+  public override void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          AssimpPINVOKE.delete_Logger(swigCPtr);
+        }
+        swigCPtr = new HandleRef(null, IntPtr.Zero);
+      }
+      GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+  public void debug(string message) {
+    AssimpPINVOKE.Logger_debug(swigCPtr, message);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void info(string message) {
+    AssimpPINVOKE.Logger_info(swigCPtr, message);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void warn(string message) {
+    AssimpPINVOKE.Logger_warn(swigCPtr, message);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void error(string message) {
+    AssimpPINVOKE.Logger_error(swigCPtr, message);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void setLogSeverity(Logger.LogSeverity log_severity) {
+    AssimpPINVOKE.Logger_setLogSeverity(swigCPtr, (int)log_severity);
+  }
+
+  public Logger.LogSeverity getLogSeverity() {
+    Logger.LogSeverity ret = (Logger.LogSeverity)AssimpPINVOKE.Logger_getLogSeverity(swigCPtr);
+    return ret;
+  }
+
+  public virtual bool attachStream(LogStream pStream, uint severity) {
+    bool ret = AssimpPINVOKE.Logger_attachStream__SWIG_0(swigCPtr, LogStream.getCPtr(pStream), severity);
+    return ret;
+  }
+
+  public virtual bool attachStream(LogStream pStream) {
+    bool ret = AssimpPINVOKE.Logger_attachStream__SWIG_1(swigCPtr, LogStream.getCPtr(pStream));
+    return ret;
+  }
+
+  public virtual bool detatchStream(LogStream pStream, uint severity) {
+    bool ret = AssimpPINVOKE.Logger_detatchStream__SWIG_0(swigCPtr, LogStream.getCPtr(pStream), severity);
+    return ret;
+  }
+
+  public virtual bool detatchStream(LogStream pStream) {
+    bool ret = AssimpPINVOKE.Logger_detatchStream__SWIG_1(swigCPtr, LogStream.getCPtr(pStream));
+    return ret;
+  }
+
+  public enum LogSeverity {
+    NORMAL,
+    VERBOSE
+  }
+
+  public enum ErrorSeverity {
+    DEBUGGING = 1,
+    INFO = 2,
+    WARN = 4,
+    ERR = 8
+  }
+
+}

+ 68 - 0
port/Assimp.NET/Assimp.NET_CS/NullLogger.cs

@@ -0,0 +1,68 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class NullLogger : Logger {
+  private HandleRef swigCPtr;
+
+  internal NullLogger(IntPtr cPtr, bool cMemoryOwn) : base(AssimpPINVOKE.NullLoggerUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(NullLogger obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~NullLogger() {
+    Dispose();
+  }
+
+  public override void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          AssimpPINVOKE.delete_NullLogger(swigCPtr);
+        }
+        swigCPtr = new HandleRef(null, IntPtr.Zero);
+      }
+      GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+  public virtual void OnDebug(string message) {
+    AssimpPINVOKE.NullLogger_OnDebug(swigCPtr, message);
+  }
+
+  public virtual void OnInfo(string message) {
+    AssimpPINVOKE.NullLogger_OnInfo(swigCPtr, message);
+  }
+
+  public virtual void OnWarn(string message) {
+    AssimpPINVOKE.NullLogger_OnWarn(swigCPtr, message);
+  }
+
+  public virtual void OnError(string message) {
+    AssimpPINVOKE.NullLogger_OnError(swigCPtr, message);
+  }
+
+  public override bool attachStream(LogStream pStream, uint severity) {
+    bool ret = AssimpPINVOKE.NullLogger_attachStream(swigCPtr, LogStream.getCPtr(pStream), severity);
+    return ret;
+  }
+
+  public override bool detatchStream(LogStream pStream, uint severity) {
+    bool ret = AssimpPINVOKE.NullLogger_detatchStream(swigCPtr, LogStream.getCPtr(pStream), severity);
+    return ret;
+  }
+
+}

+ 36 - 0
port/Assimp.NET/Assimp.NET_CS/Properties/AssemblyInfo.cs

@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// Allgemeine Informationen über eine Assembly werden über die folgenden 
+// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
+// die mit einer Assembly verknüpft sind.
+[assembly: AssemblyTitle("Assimp.NET_CS")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Microsoft")]
+[assembly: AssemblyProduct("Assimp.NET_CS")]
+[assembly: AssemblyCopyright("Copyright © Microsoft 2010")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Durch Festlegen von ComVisible auf "false" werden die Typen in dieser Assembly unsichtbar 
+// für COM-Komponenten. Wenn Sie auf einen Typ in dieser Assembly von 
+// COM zugreifen müssen, legen Sie das ComVisible-Attribut für diesen Typ auf "true" fest.
+[assembly: ComVisible(false)]
+
+// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
+[assembly: Guid("e49d1791-c198-4bbb-8dbe-c1e15aed4237")]
+
+// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
+//
+//      Hauptversion
+//      Nebenversion 
+//      Buildnummer
+//      Revision
+//
+// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern 
+// übernehmen, indem Sie "*" eingeben:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]

+ 27 - 0
port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_Assimp__BaseImporter.cs

@@ -0,0 +1,27 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_Assimp__BaseImporter {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_Assimp__BaseImporter(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_Assimp__BaseImporter() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_Assimp__BaseImporter obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}

+ 27 - 0
port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_Assimp__BaseProcess.cs

@@ -0,0 +1,27 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_Assimp__BaseProcess {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_Assimp__BaseProcess(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_Assimp__BaseProcess() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_Assimp__BaseProcess obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}

+ 27 - 0
port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_aiColor4D.cs

@@ -0,0 +1,27 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_aiColor4D {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_aiColor4D(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_aiColor4D() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_aiColor4D obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}

+ 27 - 0
port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_aiTextureMapMode.cs

@@ -0,0 +1,27 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_aiTextureMapMode {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_aiTextureMapMode(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_aiTextureMapMode() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_aiTextureMapMode obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}

+ 27 - 0
port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_aiTextureMapping.cs

@@ -0,0 +1,27 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_aiTextureMapping {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_aiTextureMapping(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_aiTextureMapping() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_aiTextureMapping obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}

+ 27 - 0
port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_aiTextureOp.cs

@@ -0,0 +1,27 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_aiTextureOp {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_aiTextureOp(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_aiTextureOp() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_aiTextureOp obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}

+ 27 - 0
port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_bool.cs

@@ -0,0 +1,27 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_bool {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_bool(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_bool() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_bool obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}

+ 27 - 0
port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_f_p_aiFileIO_p_aiFile__void.cs

@@ -0,0 +1,27 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_aiFileIO_p_aiFile__void {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_aiFileIO_p_aiFile__void(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_aiFileIO_p_aiFile__void() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_aiFileIO_p_aiFile__void obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}

+ 27 - 0
port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_f_p_aiFileIO_p_q_const__char_p_q_const__char__p_aiFile.cs

@@ -0,0 +1,27 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_aiFileIO_p_q_const__char_p_q_const__char__p_aiFile {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_aiFileIO_p_q_const__char_p_q_const__char__p_aiFile(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_aiFileIO_p_q_const__char_p_q_const__char__p_aiFile() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_aiFileIO_p_q_const__char_p_q_const__char__p_aiFile obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}

+ 27 - 0
port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_f_p_aiFile__size_t.cs

@@ -0,0 +1,27 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_aiFile__size_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_aiFile__size_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_aiFile__size_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_aiFile__size_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}

+ 27 - 0
port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_f_p_aiFile__void.cs

@@ -0,0 +1,27 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_aiFile__void {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_aiFile__void(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_aiFile__void() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_aiFile__void obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}

+ 27 - 0
port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_f_p_aiFile_p_char_size_t_size_t__size_t.cs

@@ -0,0 +1,27 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_aiFile_p_char_size_t_size_t__size_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_aiFile_p_char_size_t_size_t__size_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_aiFile_p_char_size_t_size_t__size_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_aiFile_p_char_size_t_size_t__size_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}

+ 27 - 0
port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_f_p_aiFile_p_q_const__char_size_t_size_t__size_t.cs

@@ -0,0 +1,27 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_aiFile_p_q_const__char_size_t_size_t__size_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_aiFile_p_q_const__char_size_t_size_t__size_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_aiFile_p_q_const__char_size_t_size_t__size_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_aiFile_p_q_const__char_size_t_size_t__size_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}

+ 27 - 0
port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_f_p_aiFile_size_t_enum_aiOrigin__aiReturn.cs

@@ -0,0 +1,27 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_aiFile_size_t_enum_aiOrigin__aiReturn {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_aiFile_size_t_enum_aiOrigin__aiReturn(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_aiFile_size_t_enum_aiOrigin__aiReturn() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_aiFile_size_t_enum_aiOrigin__aiReturn obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}

+ 27 - 0
port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_float.cs

@@ -0,0 +1,27 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_float {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_float(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_float() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_float obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}

+ 27 - 0
port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_int.cs

@@ -0,0 +1,27 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_int {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_int(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_int() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_int obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}

+ 27 - 0
port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_p_aiAnimation.cs

@@ -0,0 +1,27 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_p_aiAnimation {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_p_aiAnimation(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_p_aiAnimation() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_p_aiAnimation obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}

+ 27 - 0
port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_p_aiBone.cs

@@ -0,0 +1,27 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_p_aiBone {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_p_aiBone(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_p_aiBone() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_p_aiBone obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}

+ 27 - 0
port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_p_aiCamera.cs

@@ -0,0 +1,27 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_p_aiCamera {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_p_aiCamera(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_p_aiCamera() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_p_aiCamera obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}

+ 27 - 0
port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_p_aiColor4D.cs

@@ -0,0 +1,27 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_p_aiColor4D {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_p_aiColor4D(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_p_aiColor4D() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_p_aiColor4D obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}

+ 27 - 0
port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_p_aiLight.cs

@@ -0,0 +1,27 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_p_aiLight {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_p_aiLight(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_p_aiLight() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_p_aiLight obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}

+ 27 - 0
port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_p_aiMaterial.cs

@@ -0,0 +1,27 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_p_aiMaterial {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_p_aiMaterial(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_p_aiMaterial() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_p_aiMaterial obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}

+ 27 - 0
port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_p_aiMaterialProperty.cs

@@ -0,0 +1,27 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_p_aiMaterialProperty {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_p_aiMaterialProperty(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_p_aiMaterialProperty() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_p_aiMaterialProperty obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}

+ 27 - 0
port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_p_aiMesh.cs

@@ -0,0 +1,27 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_p_aiMesh {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_p_aiMesh(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_p_aiMesh() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_p_aiMesh obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}

+ 27 - 0
port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_p_aiNode.cs

@@ -0,0 +1,27 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_p_aiNode {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_p_aiNode(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_p_aiNode() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_p_aiNode obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}

+ 27 - 0
port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_p_aiNodeAnim.cs

@@ -0,0 +1,27 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_p_aiNodeAnim {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_p_aiNodeAnim(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_p_aiNodeAnim() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_p_aiNodeAnim obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}

+ 27 - 0
port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_p_aiTexture.cs

@@ -0,0 +1,27 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_p_aiTexture {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_p_aiTexture(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_p_aiTexture() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_p_aiTexture obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}

+ 27 - 0
port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_p_aiVector3D.cs

@@ -0,0 +1,27 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_p_aiVector3D {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_p_aiVector3D(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_p_aiVector3D() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_p_aiVector3D obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}

+ 27 - 0
port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_std__string.cs

@@ -0,0 +1,27 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_std__string {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_std__string(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_std__string() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_std__string obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}

+ 27 - 0
port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_unsigned_int.cs

@@ -0,0 +1,27 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_unsigned_int {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_unsigned_int(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_unsigned_int() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_unsigned_int obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}

+ 27 - 0
port/Assimp.NET/Assimp.NET_CS/SWIGTYPE_p_void.cs

@@ -0,0 +1,27 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_void {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_void(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_void() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_void obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}

+ 15 - 0
port/Assimp.NET/Assimp.NET_CS/aiAnimBehaviour.cs

@@ -0,0 +1,15 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+public enum aiAnimBehaviour {
+  aiAnimBehaviour_DEFAULT = 0x0,
+  aiAnimBehaviour_CONSTANT = 0x1,
+  aiAnimBehaviour_LINEAR = 0x2,
+  aiAnimBehaviour_REPEAT = 0x3
+}

+ 98 - 0
port/Assimp.NET/Assimp.NET_CS/aiAnimation.cs

@@ -0,0 +1,98 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class aiAnimation : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal aiAnimation(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(aiAnimation obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~aiAnimation() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          AssimpPINVOKE.delete_aiAnimation(swigCPtr);
+        }
+        swigCPtr = new HandleRef(null, IntPtr.Zero);
+      }
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public aiString mName {
+    set {
+      AssimpPINVOKE.aiAnimation_mName_set(swigCPtr, aiString.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiAnimation_mName_get(swigCPtr);
+      aiString ret = (cPtr == IntPtr.Zero) ? null : new aiString(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public double mDuration {
+    set {
+      AssimpPINVOKE.aiAnimation_mDuration_set(swigCPtr, value);
+    } 
+    get {
+      double ret = AssimpPINVOKE.aiAnimation_mDuration_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public double mTicksPerSecond {
+    set {
+      AssimpPINVOKE.aiAnimation_mTicksPerSecond_set(swigCPtr, value);
+    } 
+    get {
+      double ret = AssimpPINVOKE.aiAnimation_mTicksPerSecond_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint mNumChannels {
+    set {
+      AssimpPINVOKE.aiAnimation_mNumChannels_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = AssimpPINVOKE.aiAnimation_mNumChannels_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_p_aiNodeAnim mChannels {
+    set {
+      AssimpPINVOKE.aiAnimation_mChannels_set(swigCPtr, SWIGTYPE_p_p_aiNodeAnim.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiAnimation_mChannels_get(swigCPtr);
+      SWIGTYPE_p_p_aiNodeAnim ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_p_aiNodeAnim(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public aiAnimation() : this(AssimpPINVOKE.new_aiAnimation(), true) {
+  }
+
+}

+ 13 - 0
port/Assimp.NET/Assimp.NET_CS/aiBlendMode.cs

@@ -0,0 +1,13 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+public enum aiBlendMode {
+  aiBlendMode_Default = 0x0,
+  aiBlendMode_Additive = 0x1
+}

+ 93 - 0
port/Assimp.NET/Assimp.NET_CS/aiBone.cs

@@ -0,0 +1,93 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class aiBone : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal aiBone(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(aiBone obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~aiBone() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          AssimpPINVOKE.delete_aiBone(swigCPtr);
+        }
+        swigCPtr = new HandleRef(null, IntPtr.Zero);
+      }
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public aiString mName {
+    set {
+      AssimpPINVOKE.aiBone_mName_set(swigCPtr, aiString.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiBone_mName_get(swigCPtr);
+      aiString ret = (cPtr == IntPtr.Zero) ? null : new aiString(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public uint mNumWeights {
+    set {
+      AssimpPINVOKE.aiBone_mNumWeights_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = AssimpPINVOKE.aiBone_mNumWeights_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public aiVertexWeight mWeights {
+    set {
+      AssimpPINVOKE.aiBone_mWeights_set(swigCPtr, aiVertexWeight.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiBone_mWeights_get(swigCPtr);
+      aiVertexWeight ret = (cPtr == IntPtr.Zero) ? null : new aiVertexWeight(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public aiMatrix4x4 mOffsetMatrix {
+    set {
+      AssimpPINVOKE.aiBone_mOffsetMatrix_set(swigCPtr, aiMatrix4x4.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiBone_mOffsetMatrix_get(swigCPtr);
+      aiMatrix4x4 ret = (cPtr == IntPtr.Zero) ? null : new aiMatrix4x4(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public aiBone() : this(AssimpPINVOKE.new_aiBone__SWIG_0(), true) {
+  }
+
+  public aiBone(aiBone other) : this(AssimpPINVOKE.new_aiBone__SWIG_1(aiBone.getCPtr(other)), true) {
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}

+ 135 - 0
port/Assimp.NET/Assimp.NET_CS/aiCamera.cs

@@ -0,0 +1,135 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class aiCamera : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal aiCamera(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(aiCamera obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~aiCamera() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          AssimpPINVOKE.delete_aiCamera(swigCPtr);
+        }
+        swigCPtr = new HandleRef(null, IntPtr.Zero);
+      }
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public aiString mName {
+    set {
+      AssimpPINVOKE.aiCamera_mName_set(swigCPtr, aiString.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiCamera_mName_get(swigCPtr);
+      aiString ret = (cPtr == IntPtr.Zero) ? null : new aiString(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public aiVector3D mPosition {
+    set {
+      AssimpPINVOKE.aiCamera_mPosition_set(swigCPtr, aiVector3D.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiCamera_mPosition_get(swigCPtr);
+      aiVector3D ret = (cPtr == IntPtr.Zero) ? null : new aiVector3D(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public aiVector3D mUp {
+    set {
+      AssimpPINVOKE.aiCamera_mUp_set(swigCPtr, aiVector3D.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiCamera_mUp_get(swigCPtr);
+      aiVector3D ret = (cPtr == IntPtr.Zero) ? null : new aiVector3D(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public aiVector3D mLookAt {
+    set {
+      AssimpPINVOKE.aiCamera_mLookAt_set(swigCPtr, aiVector3D.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiCamera_mLookAt_get(swigCPtr);
+      aiVector3D ret = (cPtr == IntPtr.Zero) ? null : new aiVector3D(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public float mHorizontalFOV {
+    set {
+      AssimpPINVOKE.aiCamera_mHorizontalFOV_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiCamera_mHorizontalFOV_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public float mClipPlaneNear {
+    set {
+      AssimpPINVOKE.aiCamera_mClipPlaneNear_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiCamera_mClipPlaneNear_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public float mClipPlaneFar {
+    set {
+      AssimpPINVOKE.aiCamera_mClipPlaneFar_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiCamera_mClipPlaneFar_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public float mAspect {
+    set {
+      AssimpPINVOKE.aiCamera_mAspect_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiCamera_mAspect_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public aiCamera() : this(AssimpPINVOKE.new_aiCamera(), true) {
+  }
+
+  public void GetCameraMatrix(aiMatrix4x4 arg0) {
+    AssimpPINVOKE.aiCamera_GetCameraMatrix(swigCPtr, aiMatrix4x4.getCPtr(arg0));
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}

+ 131 - 0
port/Assimp.NET/Assimp.NET_CS/aiColor3D.cs

@@ -0,0 +1,131 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class aiColor3D : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal aiColor3D(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(aiColor3D obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~aiColor3D() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          AssimpPINVOKE.delete_aiColor3D(swigCPtr);
+        }
+        swigCPtr = new HandleRef(null, IntPtr.Zero);
+      }
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public aiColor3D() : this(AssimpPINVOKE.new_aiColor3D__SWIG_0(), true) {
+  }
+
+  public aiColor3D(float _r, float _g, float _b) : this(AssimpPINVOKE.new_aiColor3D__SWIG_1(_r, _g, _b), true) {
+  }
+
+  public aiColor3D(float _r) : this(AssimpPINVOKE.new_aiColor3D__SWIG_2(_r), true) {
+  }
+
+  public aiColor3D(aiColor3D o) : this(AssimpPINVOKE.new_aiColor3D__SWIG_3(aiColor3D.getCPtr(o)), true) {
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public bool __equal__(aiColor3D other) {
+    bool ret = AssimpPINVOKE.aiColor3D___equal__(swigCPtr, aiColor3D.getCPtr(other));
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool __nequal__(aiColor3D other) {
+    bool ret = AssimpPINVOKE.aiColor3D___nequal__(swigCPtr, aiColor3D.getCPtr(other));
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public aiColor3D __add__(aiColor3D c) {
+    aiColor3D ret = new aiColor3D(AssimpPINVOKE.aiColor3D___add__(swigCPtr, aiColor3D.getCPtr(c)), true);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public aiColor3D __sub__(aiColor3D c) {
+    aiColor3D ret = new aiColor3D(AssimpPINVOKE.aiColor3D___sub__(swigCPtr, aiColor3D.getCPtr(c)), true);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public aiColor3D __mul__(aiColor3D c) {
+    aiColor3D ret = new aiColor3D(AssimpPINVOKE.aiColor3D___mul____SWIG_0(swigCPtr, aiColor3D.getCPtr(c)), true);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public aiColor3D __mul__(float f) {
+    aiColor3D ret = new aiColor3D(AssimpPINVOKE.aiColor3D___mul____SWIG_1(swigCPtr, f), true);
+    return ret;
+  }
+
+  public float __idx__(uint i) {
+    float ret = AssimpPINVOKE.aiColor3D___idx____SWIG_0(swigCPtr, i);
+    return ret;
+  }
+
+  public bool IsBlack() {
+    bool ret = AssimpPINVOKE.aiColor3D_IsBlack(swigCPtr);
+    return ret;
+  }
+
+  public float r {
+    set {
+      AssimpPINVOKE.aiColor3D_r_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiColor3D_r_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public float g {
+    set {
+      AssimpPINVOKE.aiColor3D_g_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiColor3D_g_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public float b {
+    set {
+      AssimpPINVOKE.aiColor3D_b_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiColor3D_b_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+}

+ 22 - 0
port/Assimp.NET/Assimp.NET_CS/aiComponent.cs

@@ -0,0 +1,22 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+public enum aiComponent {
+  aiComponent_NORMALS = 0x2,
+  aiComponent_TANGENTS_AND_BITANGENTS = 0x4,
+  aiComponent_COLORS = 0x8,
+  aiComponent_TEXCOORDS = 0x10,
+  aiComponent_BONEWEIGHTS = 0x20,
+  aiComponent_ANIMATIONS = 0x40,
+  aiComponent_TEXTURES = 0x80,
+  aiComponent_LIGHTS = 0x100,
+  aiComponent_CAMERAS = 0x200,
+  aiComponent_MESHES = 0x400,
+  aiComponent_MATERIALS = 0x800
+}

+ 16 - 0
port/Assimp.NET/Assimp.NET_CS/aiDefaultLogStream.cs

@@ -0,0 +1,16 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+public enum aiDefaultLogStream {
+  aiDefaultLogStream_FILE = 0x1,
+  aiDefaultLogStream_STDOUT = 0x2,
+  aiDefaultLogStream_STDERR = 0x4,
+  aiDefaultLogStream_DEBUGGER = 0x8,
+  _AI_DLS_ENFORCE_ENUM_SIZE = 0x7fffffff
+}

+ 89 - 0
port/Assimp.NET/Assimp.NET_CS/aiFace.cs

@@ -0,0 +1,89 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class aiFace : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal aiFace(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(aiFace obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~aiFace() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          AssimpPINVOKE.delete_aiFace(swigCPtr);
+        }
+        swigCPtr = new HandleRef(null, IntPtr.Zero);
+      }
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public uint mNumIndices {
+    set {
+      AssimpPINVOKE.aiFace_mNumIndices_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = AssimpPINVOKE.aiFace_mNumIndices_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_unsigned_int mIndices {
+    set {
+      AssimpPINVOKE.aiFace_mIndices_set(swigCPtr, SWIGTYPE_p_unsigned_int.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiFace_mIndices_get(swigCPtr);
+      SWIGTYPE_p_unsigned_int ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_int(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public aiFace() : this(AssimpPINVOKE.new_aiFace__SWIG_0(), true) {
+  }
+
+  public aiFace(aiFace o) : this(AssimpPINVOKE.new_aiFace__SWIG_1(aiFace.getCPtr(o)), true) {
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public aiFace __set__(aiFace o) {
+    aiFace ret = new aiFace(AssimpPINVOKE.aiFace___set__(swigCPtr, aiFace.getCPtr(o)), false);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool __equal__(aiFace o) {
+    bool ret = AssimpPINVOKE.aiFace___equal__(swigCPtr, aiFace.getCPtr(o));
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool __nequal__(aiFace o) {
+    bool ret = AssimpPINVOKE.aiFace___nequal__(swigCPtr, aiFace.getCPtr(o));
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}

+ 122 - 0
port/Assimp.NET/Assimp.NET_CS/aiFile.cs

@@ -0,0 +1,122 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class aiFile : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal aiFile(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(aiFile obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~aiFile() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          AssimpPINVOKE.delete_aiFile(swigCPtr);
+        }
+        swigCPtr = new HandleRef(null, IntPtr.Zero);
+      }
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public SWIGTYPE_p_f_p_aiFile_p_char_size_t_size_t__size_t ReadProc {
+    set {
+      AssimpPINVOKE.aiFile_ReadProc_set(swigCPtr, SWIGTYPE_p_f_p_aiFile_p_char_size_t_size_t__size_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiFile_ReadProc_get(swigCPtr);
+      SWIGTYPE_p_f_p_aiFile_p_char_size_t_size_t__size_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_aiFile_p_char_size_t_size_t__size_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_aiFile_p_q_const__char_size_t_size_t__size_t WriteProc {
+    set {
+      AssimpPINVOKE.aiFile_WriteProc_set(swigCPtr, SWIGTYPE_p_f_p_aiFile_p_q_const__char_size_t_size_t__size_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiFile_WriteProc_get(swigCPtr);
+      SWIGTYPE_p_f_p_aiFile_p_q_const__char_size_t_size_t__size_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_aiFile_p_q_const__char_size_t_size_t__size_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_aiFile__size_t TellProc {
+    set {
+      AssimpPINVOKE.aiFile_TellProc_set(swigCPtr, SWIGTYPE_p_f_p_aiFile__size_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiFile_TellProc_get(swigCPtr);
+      SWIGTYPE_p_f_p_aiFile__size_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_aiFile__size_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_aiFile__size_t FileSizeProc {
+    set {
+      AssimpPINVOKE.aiFile_FileSizeProc_set(swigCPtr, SWIGTYPE_p_f_p_aiFile__size_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiFile_FileSizeProc_get(swigCPtr);
+      SWIGTYPE_p_f_p_aiFile__size_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_aiFile__size_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_aiFile_size_t_enum_aiOrigin__aiReturn SeekProc {
+    set {
+      AssimpPINVOKE.aiFile_SeekProc_set(swigCPtr, SWIGTYPE_p_f_p_aiFile_size_t_enum_aiOrigin__aiReturn.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiFile_SeekProc_get(swigCPtr);
+      SWIGTYPE_p_f_p_aiFile_size_t_enum_aiOrigin__aiReturn ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_aiFile_size_t_enum_aiOrigin__aiReturn(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_aiFile__void FlushProc {
+    set {
+      AssimpPINVOKE.aiFile_FlushProc_set(swigCPtr, SWIGTYPE_p_f_p_aiFile__void.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiFile_FlushProc_get(swigCPtr);
+      SWIGTYPE_p_f_p_aiFile__void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_aiFile__void(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public string UserData {
+    set {
+      AssimpPINVOKE.aiFile_UserData_set(swigCPtr, value);
+    } 
+    get {
+      string ret = AssimpPINVOKE.aiFile_UserData_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public aiFile() : this(AssimpPINVOKE.new_aiFile(), true) {
+  }
+
+}

+ 78 - 0
port/Assimp.NET/Assimp.NET_CS/aiFileIO.cs

@@ -0,0 +1,78 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class aiFileIO : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal aiFileIO(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(aiFileIO obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~aiFileIO() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          AssimpPINVOKE.delete_aiFileIO(swigCPtr);
+        }
+        swigCPtr = new HandleRef(null, IntPtr.Zero);
+      }
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public SWIGTYPE_p_f_p_aiFileIO_p_q_const__char_p_q_const__char__p_aiFile OpenProc {
+    set {
+      AssimpPINVOKE.aiFileIO_OpenProc_set(swigCPtr, SWIGTYPE_p_f_p_aiFileIO_p_q_const__char_p_q_const__char__p_aiFile.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiFileIO_OpenProc_get(swigCPtr);
+      SWIGTYPE_p_f_p_aiFileIO_p_q_const__char_p_q_const__char__p_aiFile ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_aiFileIO_p_q_const__char_p_q_const__char__p_aiFile(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_aiFileIO_p_aiFile__void CloseProc {
+    set {
+      AssimpPINVOKE.aiFileIO_CloseProc_set(swigCPtr, SWIGTYPE_p_f_p_aiFileIO_p_aiFile__void.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiFileIO_CloseProc_get(swigCPtr);
+      SWIGTYPE_p_f_p_aiFileIO_p_aiFile__void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_aiFileIO_p_aiFile__void(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public string UserData {
+    set {
+      AssimpPINVOKE.aiFileIO_UserData_set(swigCPtr, value);
+    } 
+    get {
+      string ret = AssimpPINVOKE.aiFileIO_UserData_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public aiFileIO() : this(AssimpPINVOKE.new_aiFileIO(), true) {
+  }
+
+}

+ 172 - 0
port/Assimp.NET/Assimp.NET_CS/aiLight.cs

@@ -0,0 +1,172 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class aiLight : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal aiLight(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(aiLight obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~aiLight() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          AssimpPINVOKE.delete_aiLight(swigCPtr);
+        }
+        swigCPtr = new HandleRef(null, IntPtr.Zero);
+      }
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public aiString mName {
+    set {
+      AssimpPINVOKE.aiLight_mName_set(swigCPtr, aiString.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiLight_mName_get(swigCPtr);
+      aiString ret = (cPtr == IntPtr.Zero) ? null : new aiString(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public aiLightSourceType mType {
+    set {
+      AssimpPINVOKE.aiLight_mType_set(swigCPtr, (int)value);
+    } 
+    get {
+      aiLightSourceType ret = (aiLightSourceType)AssimpPINVOKE.aiLight_mType_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public aiVector3D mPosition {
+    set {
+      AssimpPINVOKE.aiLight_mPosition_set(swigCPtr, aiVector3D.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiLight_mPosition_get(swigCPtr);
+      aiVector3D ret = (cPtr == IntPtr.Zero) ? null : new aiVector3D(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public aiVector3D mDirection {
+    set {
+      AssimpPINVOKE.aiLight_mDirection_set(swigCPtr, aiVector3D.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiLight_mDirection_get(swigCPtr);
+      aiVector3D ret = (cPtr == IntPtr.Zero) ? null : new aiVector3D(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public float mAttenuationConstant {
+    set {
+      AssimpPINVOKE.aiLight_mAttenuationConstant_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiLight_mAttenuationConstant_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public float mAttenuationLinear {
+    set {
+      AssimpPINVOKE.aiLight_mAttenuationLinear_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiLight_mAttenuationLinear_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public float mAttenuationQuadratic {
+    set {
+      AssimpPINVOKE.aiLight_mAttenuationQuadratic_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiLight_mAttenuationQuadratic_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public aiColor3D mColorDiffuse {
+    set {
+      AssimpPINVOKE.aiLight_mColorDiffuse_set(swigCPtr, aiColor3D.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiLight_mColorDiffuse_get(swigCPtr);
+      aiColor3D ret = (cPtr == IntPtr.Zero) ? null : new aiColor3D(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public aiColor3D mColorSpecular {
+    set {
+      AssimpPINVOKE.aiLight_mColorSpecular_set(swigCPtr, aiColor3D.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiLight_mColorSpecular_get(swigCPtr);
+      aiColor3D ret = (cPtr == IntPtr.Zero) ? null : new aiColor3D(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public aiColor3D mColorAmbient {
+    set {
+      AssimpPINVOKE.aiLight_mColorAmbient_set(swigCPtr, aiColor3D.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiLight_mColorAmbient_get(swigCPtr);
+      aiColor3D ret = (cPtr == IntPtr.Zero) ? null : new aiColor3D(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public float mAngleInnerCone {
+    set {
+      AssimpPINVOKE.aiLight_mAngleInnerCone_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiLight_mAngleInnerCone_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public float mAngleOuterCone {
+    set {
+      AssimpPINVOKE.aiLight_mAngleOuterCone_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiLight_mAngleOuterCone_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public aiLight() : this(AssimpPINVOKE.new_aiLight(), true) {
+  }
+
+}

+ 15 - 0
port/Assimp.NET/Assimp.NET_CS/aiLightSourceType.cs

@@ -0,0 +1,15 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+public enum aiLightSourceType {
+  aiLightSource_UNDEFINED = 0x0,
+  aiLightSource_DIRECTIONAL = 0x1,
+  aiLightSource_POINT = 0x2,
+  aiLightSource_SPOT = 0x3
+}

+ 112 - 0
port/Assimp.NET/Assimp.NET_CS/aiMaterial.cs

@@ -0,0 +1,112 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class aiMaterial : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal aiMaterial(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(aiMaterial obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~aiMaterial() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          AssimpPINVOKE.delete_aiMaterial(swigCPtr);
+        }
+        swigCPtr = new HandleRef(null, IntPtr.Zero);
+      }
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public aiMaterial() : this(AssimpPINVOKE.new_aiMaterial(), true) {
+  }
+
+  public uint GetTextureCount(aiTextureType type) {
+    uint ret = AssimpPINVOKE.aiMaterial_GetTextureCount(swigCPtr, (int)type);
+    return ret;
+  }
+
+  public aiReturn GetTexture(aiTextureType type, uint index, aiString path, SWIGTYPE_p_aiTextureMapping mapping, SWIGTYPE_p_unsigned_int uvindex, SWIGTYPE_p_float blend, SWIGTYPE_p_aiTextureOp op, SWIGTYPE_p_aiTextureMapMode mapmode) {
+    aiReturn ret = (aiReturn)AssimpPINVOKE.aiMaterial_GetTexture__SWIG_0(swigCPtr, (int)type, index, aiString.getCPtr(path), SWIGTYPE_p_aiTextureMapping.getCPtr(mapping), SWIGTYPE_p_unsigned_int.getCPtr(uvindex), SWIGTYPE_p_float.getCPtr(blend), SWIGTYPE_p_aiTextureOp.getCPtr(op), SWIGTYPE_p_aiTextureMapMode.getCPtr(mapmode));
+    return ret;
+  }
+
+  public aiReturn GetTexture(aiTextureType type, uint index, aiString path, SWIGTYPE_p_aiTextureMapping mapping, SWIGTYPE_p_unsigned_int uvindex, SWIGTYPE_p_float blend, SWIGTYPE_p_aiTextureOp op) {
+    aiReturn ret = (aiReturn)AssimpPINVOKE.aiMaterial_GetTexture__SWIG_1(swigCPtr, (int)type, index, aiString.getCPtr(path), SWIGTYPE_p_aiTextureMapping.getCPtr(mapping), SWIGTYPE_p_unsigned_int.getCPtr(uvindex), SWIGTYPE_p_float.getCPtr(blend), SWIGTYPE_p_aiTextureOp.getCPtr(op));
+    return ret;
+  }
+
+  public aiReturn GetTexture(aiTextureType type, uint index, aiString path, SWIGTYPE_p_aiTextureMapping mapping, SWIGTYPE_p_unsigned_int uvindex, SWIGTYPE_p_float blend) {
+    aiReturn ret = (aiReturn)AssimpPINVOKE.aiMaterial_GetTexture__SWIG_2(swigCPtr, (int)type, index, aiString.getCPtr(path), SWIGTYPE_p_aiTextureMapping.getCPtr(mapping), SWIGTYPE_p_unsigned_int.getCPtr(uvindex), SWIGTYPE_p_float.getCPtr(blend));
+    return ret;
+  }
+
+  public aiReturn GetTexture(aiTextureType type, uint index, aiString path, SWIGTYPE_p_aiTextureMapping mapping, SWIGTYPE_p_unsigned_int uvindex) {
+    aiReturn ret = (aiReturn)AssimpPINVOKE.aiMaterial_GetTexture__SWIG_3(swigCPtr, (int)type, index, aiString.getCPtr(path), SWIGTYPE_p_aiTextureMapping.getCPtr(mapping), SWIGTYPE_p_unsigned_int.getCPtr(uvindex));
+    return ret;
+  }
+
+  public aiReturn GetTexture(aiTextureType type, uint index, aiString path, SWIGTYPE_p_aiTextureMapping mapping) {
+    aiReturn ret = (aiReturn)AssimpPINVOKE.aiMaterial_GetTexture__SWIG_4(swigCPtr, (int)type, index, aiString.getCPtr(path), SWIGTYPE_p_aiTextureMapping.getCPtr(mapping));
+    return ret;
+  }
+
+  public aiReturn GetTexture(aiTextureType type, uint index, aiString path) {
+    aiReturn ret = (aiReturn)AssimpPINVOKE.aiMaterial_GetTexture__SWIG_5(swigCPtr, (int)type, index, aiString.getCPtr(path));
+    return ret;
+  }
+
+  public SWIGTYPE_p_p_aiMaterialProperty mProperties {
+    set {
+      AssimpPINVOKE.aiMaterial_mProperties_set(swigCPtr, SWIGTYPE_p_p_aiMaterialProperty.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiMaterial_mProperties_get(swigCPtr);
+      SWIGTYPE_p_p_aiMaterialProperty ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_p_aiMaterialProperty(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public uint mNumProperties {
+    set {
+      AssimpPINVOKE.aiMaterial_mNumProperties_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = AssimpPINVOKE.aiMaterial_mNumProperties_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint mNumAllocated {
+    set {
+      AssimpPINVOKE.aiMaterial_mNumAllocated_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = AssimpPINVOKE.aiMaterial_mNumAllocated_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+}

+ 107 - 0
port/Assimp.NET/Assimp.NET_CS/aiMaterialProperty.cs

@@ -0,0 +1,107 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class aiMaterialProperty : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal aiMaterialProperty(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(aiMaterialProperty obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~aiMaterialProperty() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          AssimpPINVOKE.delete_aiMaterialProperty(swigCPtr);
+        }
+        swigCPtr = new HandleRef(null, IntPtr.Zero);
+      }
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public aiString mKey {
+    set {
+      AssimpPINVOKE.aiMaterialProperty_mKey_set(swigCPtr, aiString.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiMaterialProperty_mKey_get(swigCPtr);
+      aiString ret = (cPtr == IntPtr.Zero) ? null : new aiString(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public uint mSemantic {
+    set {
+      AssimpPINVOKE.aiMaterialProperty_mSemantic_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = AssimpPINVOKE.aiMaterialProperty_mSemantic_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint mIndex {
+    set {
+      AssimpPINVOKE.aiMaterialProperty_mIndex_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = AssimpPINVOKE.aiMaterialProperty_mIndex_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint mDataLength {
+    set {
+      AssimpPINVOKE.aiMaterialProperty_mDataLength_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = AssimpPINVOKE.aiMaterialProperty_mDataLength_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public aiPropertyTypeInfo mType {
+    set {
+      AssimpPINVOKE.aiMaterialProperty_mType_set(swigCPtr, (int)value);
+    } 
+    get {
+      aiPropertyTypeInfo ret = (aiPropertyTypeInfo)AssimpPINVOKE.aiMaterialProperty_mType_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string mData {
+    set {
+      AssimpPINVOKE.aiMaterialProperty_mData_set(swigCPtr, value);
+    } 
+    get {
+      string ret = AssimpPINVOKE.aiMaterialProperty_mData_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public aiMaterialProperty() : this(AssimpPINVOKE.new_aiMaterialProperty(), true) {
+  }
+
+}

+ 212 - 0
port/Assimp.NET/Assimp.NET_CS/aiMatrix3x3.cs

@@ -0,0 +1,212 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class aiMatrix3x3 : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal aiMatrix3x3(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(aiMatrix3x3 obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~aiMatrix3x3() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          AssimpPINVOKE.delete_aiMatrix3x3(swigCPtr);
+        }
+        swigCPtr = new HandleRef(null, IntPtr.Zero);
+      }
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public aiMatrix3x3() : this(AssimpPINVOKE.new_aiMatrix3x3__SWIG_0(), true) {
+  }
+
+  public aiMatrix3x3(float _a1, float _a2, float _a3, float _b1, float _b2, float _b3, float _c1, float _c2, float _c3) : this(AssimpPINVOKE.new_aiMatrix3x3__SWIG_1(_a1, _a2, _a3, _b1, _b2, _b3, _c1, _c2, _c3), true) {
+  }
+
+  public aiMatrix3x3 __mulnset__(aiMatrix3x3 m) {
+    aiMatrix3x3 ret = new aiMatrix3x3(AssimpPINVOKE.aiMatrix3x3___mulnset__(swigCPtr, aiMatrix3x3.getCPtr(m)), false);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public aiMatrix3x3 __mul__(aiMatrix3x3 m) {
+    aiMatrix3x3 ret = new aiMatrix3x3(AssimpPINVOKE.aiMatrix3x3___mul__(swigCPtr, aiMatrix3x3.getCPtr(m)), true);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public SWIGTYPE_p_float __idx__(uint p_iIndex) {
+    IntPtr cPtr = AssimpPINVOKE.aiMatrix3x3___idx____SWIG_0(swigCPtr, p_iIndex);
+    SWIGTYPE_p_float ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_float(cPtr, false);
+    return ret;
+  }
+
+  public bool __equal__(aiMatrix4x4 m) {
+    bool ret = AssimpPINVOKE.aiMatrix3x3___equal__(swigCPtr, aiMatrix4x4.getCPtr(m));
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool __nequal__(aiMatrix4x4 m) {
+    bool ret = AssimpPINVOKE.aiMatrix3x3___nequal__(swigCPtr, aiMatrix4x4.getCPtr(m));
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public aiMatrix3x3(aiMatrix4x4 pMatrix) : this(AssimpPINVOKE.new_aiMatrix3x3__SWIG_2(aiMatrix4x4.getCPtr(pMatrix)), true) {
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public aiMatrix3x3 Transpose() {
+    aiMatrix3x3 ret = new aiMatrix3x3(AssimpPINVOKE.aiMatrix3x3_Transpose(swigCPtr), false);
+    return ret;
+  }
+
+  public aiMatrix3x3 Inverse() {
+    aiMatrix3x3 ret = new aiMatrix3x3(AssimpPINVOKE.aiMatrix3x3_Inverse(swigCPtr), false);
+    return ret;
+  }
+
+  public float Determinant() {
+    float ret = AssimpPINVOKE.aiMatrix3x3_Determinant(swigCPtr);
+    return ret;
+  }
+
+  public static aiMatrix3x3 RotationZ(float a, aiMatrix3x3 arg1) {
+    aiMatrix3x3 ret = new aiMatrix3x3(AssimpPINVOKE.aiMatrix3x3_RotationZ(a, aiMatrix3x3.getCPtr(arg1)), false);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static aiMatrix3x3 Rotation(float a, aiVector3D axis, aiMatrix3x3 arg2) {
+    aiMatrix3x3 ret = new aiMatrix3x3(AssimpPINVOKE.aiMatrix3x3_Rotation(a, aiVector3D.getCPtr(axis), aiMatrix3x3.getCPtr(arg2)), false);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static aiMatrix3x3 Translation(aiVector2D v, aiMatrix3x3 arg1) {
+    aiMatrix3x3 ret = new aiMatrix3x3(AssimpPINVOKE.aiMatrix3x3_Translation(aiVector2D.getCPtr(v), aiMatrix3x3.getCPtr(arg1)), false);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static aiMatrix3x3 FromToMatrix(aiVector3D from, aiVector3D to, aiMatrix3x3 arg2) {
+    aiMatrix3x3 ret = new aiMatrix3x3(AssimpPINVOKE.aiMatrix3x3_FromToMatrix(aiVector3D.getCPtr(from), aiVector3D.getCPtr(to), aiMatrix3x3.getCPtr(arg2)), false);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float a1 {
+    set {
+      AssimpPINVOKE.aiMatrix3x3_a1_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiMatrix3x3_a1_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public float a2 {
+    set {
+      AssimpPINVOKE.aiMatrix3x3_a2_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiMatrix3x3_a2_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public float a3 {
+    set {
+      AssimpPINVOKE.aiMatrix3x3_a3_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiMatrix3x3_a3_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public float b1 {
+    set {
+      AssimpPINVOKE.aiMatrix3x3_b1_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiMatrix3x3_b1_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public float b2 {
+    set {
+      AssimpPINVOKE.aiMatrix3x3_b2_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiMatrix3x3_b2_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public float b3 {
+    set {
+      AssimpPINVOKE.aiMatrix3x3_b3_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiMatrix3x3_b3_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public float c1 {
+    set {
+      AssimpPINVOKE.aiMatrix3x3_c1_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiMatrix3x3_c1_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public float c2 {
+    set {
+      AssimpPINVOKE.aiMatrix3x3_c2_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiMatrix3x3_c2_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public float c3 {
+    set {
+      AssimpPINVOKE.aiMatrix3x3_c3_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiMatrix3x3_c3_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+}

+ 326 - 0
port/Assimp.NET/Assimp.NET_CS/aiMatrix4x4.cs

@@ -0,0 +1,326 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class aiMatrix4x4 : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal aiMatrix4x4(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(aiMatrix4x4 obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~aiMatrix4x4() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          AssimpPINVOKE.delete_aiMatrix4x4(swigCPtr);
+        }
+        swigCPtr = new HandleRef(null, IntPtr.Zero);
+      }
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public aiMatrix4x4() : this(AssimpPINVOKE.new_aiMatrix4x4__SWIG_0(), true) {
+  }
+
+  public aiMatrix4x4(float _a1, float _a2, float _a3, float _a4, float _b1, float _b2, float _b3, float _b4, float _c1, float _c2, float _c3, float _c4, float _d1, float _d2, float _d3, float _d4) : this(AssimpPINVOKE.new_aiMatrix4x4__SWIG_1(_a1, _a2, _a3, _a4, _b1, _b2, _b3, _b4, _c1, _c2, _c3, _c4, _d1, _d2, _d3, _d4), true) {
+  }
+
+  public aiMatrix4x4(aiMatrix3x3 m) : this(AssimpPINVOKE.new_aiMatrix4x4__SWIG_2(aiMatrix3x3.getCPtr(m)), true) {
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public SWIGTYPE_p_float __idx__(uint p_iIndex) {
+    IntPtr cPtr = AssimpPINVOKE.aiMatrix4x4___idx____SWIG_0(swigCPtr, p_iIndex);
+    SWIGTYPE_p_float ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_float(cPtr, false);
+    return ret;
+  }
+
+  public bool __equal__(aiMatrix4x4 m) {
+    bool ret = AssimpPINVOKE.aiMatrix4x4___equal__(swigCPtr, aiMatrix4x4.getCPtr(m));
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool __nequal__(aiMatrix4x4 m) {
+    bool ret = AssimpPINVOKE.aiMatrix4x4___nequal__(swigCPtr, aiMatrix4x4.getCPtr(m));
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public aiMatrix4x4 __mulnset__(aiMatrix4x4 m) {
+    aiMatrix4x4 ret = new aiMatrix4x4(AssimpPINVOKE.aiMatrix4x4___mulnset__(swigCPtr, aiMatrix4x4.getCPtr(m)), false);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public aiMatrix4x4 __mul__(aiMatrix4x4 m) {
+    aiMatrix4x4 ret = new aiMatrix4x4(AssimpPINVOKE.aiMatrix4x4___mul__(swigCPtr, aiMatrix4x4.getCPtr(m)), true);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public aiMatrix4x4 Transpose() {
+    aiMatrix4x4 ret = new aiMatrix4x4(AssimpPINVOKE.aiMatrix4x4_Transpose(swigCPtr), false);
+    return ret;
+  }
+
+  public aiMatrix4x4 Inverse() {
+    aiMatrix4x4 ret = new aiMatrix4x4(AssimpPINVOKE.aiMatrix4x4_Inverse(swigCPtr), false);
+    return ret;
+  }
+
+  public float Determinant() {
+    float ret = AssimpPINVOKE.aiMatrix4x4_Determinant(swigCPtr);
+    return ret;
+  }
+
+  public bool IsIdentity() {
+    bool ret = AssimpPINVOKE.aiMatrix4x4_IsIdentity(swigCPtr);
+    return ret;
+  }
+
+  public void Decompose(aiVector3D scaling, aiQuaternion rotation, aiVector3D position) {
+    AssimpPINVOKE.aiMatrix4x4_Decompose(swigCPtr, aiVector3D.getCPtr(scaling), aiQuaternion.getCPtr(rotation), aiVector3D.getCPtr(position));
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void DecomposeNoScaling(aiQuaternion rotation, aiVector3D position) {
+    AssimpPINVOKE.aiMatrix4x4_DecomposeNoScaling(swigCPtr, aiQuaternion.getCPtr(rotation), aiVector3D.getCPtr(position));
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public aiMatrix4x4 FromEulerAnglesXYZ(float x, float y, float z) {
+    aiMatrix4x4 ret = new aiMatrix4x4(AssimpPINVOKE.aiMatrix4x4_FromEulerAnglesXYZ__SWIG_0(swigCPtr, x, y, z), false);
+    return ret;
+  }
+
+  public aiMatrix4x4 FromEulerAnglesXYZ(aiVector3D blubb) {
+    aiMatrix4x4 ret = new aiMatrix4x4(AssimpPINVOKE.aiMatrix4x4_FromEulerAnglesXYZ__SWIG_1(swigCPtr, aiVector3D.getCPtr(blubb)), false);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static aiMatrix4x4 RotationX(float a, aiMatrix4x4 arg1) {
+    aiMatrix4x4 ret = new aiMatrix4x4(AssimpPINVOKE.aiMatrix4x4_RotationX(a, aiMatrix4x4.getCPtr(arg1)), false);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static aiMatrix4x4 RotationY(float a, aiMatrix4x4 arg1) {
+    aiMatrix4x4 ret = new aiMatrix4x4(AssimpPINVOKE.aiMatrix4x4_RotationY(a, aiMatrix4x4.getCPtr(arg1)), false);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static aiMatrix4x4 RotationZ(float a, aiMatrix4x4 arg1) {
+    aiMatrix4x4 ret = new aiMatrix4x4(AssimpPINVOKE.aiMatrix4x4_RotationZ(a, aiMatrix4x4.getCPtr(arg1)), false);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static aiMatrix4x4 Rotation(float a, aiVector3D axis, aiMatrix4x4 arg2) {
+    aiMatrix4x4 ret = new aiMatrix4x4(AssimpPINVOKE.aiMatrix4x4_Rotation(a, aiVector3D.getCPtr(axis), aiMatrix4x4.getCPtr(arg2)), false);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static aiMatrix4x4 Translation(aiVector3D v, aiMatrix4x4 arg1) {
+    aiMatrix4x4 ret = new aiMatrix4x4(AssimpPINVOKE.aiMatrix4x4_Translation(aiVector3D.getCPtr(v), aiMatrix4x4.getCPtr(arg1)), false);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static aiMatrix4x4 Scaling(aiVector3D v, aiMatrix4x4 arg1) {
+    aiMatrix4x4 ret = new aiMatrix4x4(AssimpPINVOKE.aiMatrix4x4_Scaling(aiVector3D.getCPtr(v), aiMatrix4x4.getCPtr(arg1)), false);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static aiMatrix4x4 FromToMatrix(aiVector3D from, aiVector3D to, aiMatrix4x4 arg2) {
+    aiMatrix4x4 ret = new aiMatrix4x4(AssimpPINVOKE.aiMatrix4x4_FromToMatrix(aiVector3D.getCPtr(from), aiVector3D.getCPtr(to), aiMatrix4x4.getCPtr(arg2)), false);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float a1 {
+    set {
+      AssimpPINVOKE.aiMatrix4x4_a1_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiMatrix4x4_a1_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public float a2 {
+    set {
+      AssimpPINVOKE.aiMatrix4x4_a2_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiMatrix4x4_a2_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public float a3 {
+    set {
+      AssimpPINVOKE.aiMatrix4x4_a3_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiMatrix4x4_a3_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public float a4 {
+    set {
+      AssimpPINVOKE.aiMatrix4x4_a4_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiMatrix4x4_a4_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public float b1 {
+    set {
+      AssimpPINVOKE.aiMatrix4x4_b1_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiMatrix4x4_b1_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public float b2 {
+    set {
+      AssimpPINVOKE.aiMatrix4x4_b2_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiMatrix4x4_b2_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public float b3 {
+    set {
+      AssimpPINVOKE.aiMatrix4x4_b3_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiMatrix4x4_b3_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public float b4 {
+    set {
+      AssimpPINVOKE.aiMatrix4x4_b4_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiMatrix4x4_b4_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public float c1 {
+    set {
+      AssimpPINVOKE.aiMatrix4x4_c1_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiMatrix4x4_c1_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public float c2 {
+    set {
+      AssimpPINVOKE.aiMatrix4x4_c2_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiMatrix4x4_c2_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public float c3 {
+    set {
+      AssimpPINVOKE.aiMatrix4x4_c3_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiMatrix4x4_c3_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public float c4 {
+    set {
+      AssimpPINVOKE.aiMatrix4x4_c4_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiMatrix4x4_c4_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public float d1 {
+    set {
+      AssimpPINVOKE.aiMatrix4x4_d1_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiMatrix4x4_d1_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public float d2 {
+    set {
+      AssimpPINVOKE.aiMatrix4x4_d2_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiMatrix4x4_d2_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public float d3 {
+    set {
+      AssimpPINVOKE.aiMatrix4x4_d3_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiMatrix4x4_d3_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public float d4 {
+    set {
+      AssimpPINVOKE.aiMatrix4x4_d4_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiMatrix4x4_d4_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+}

+ 126 - 0
port/Assimp.NET/Assimp.NET_CS/aiMemoryInfo.cs

@@ -0,0 +1,126 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class aiMemoryInfo : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal aiMemoryInfo(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(aiMemoryInfo obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~aiMemoryInfo() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          AssimpPINVOKE.delete_aiMemoryInfo(swigCPtr);
+        }
+        swigCPtr = new HandleRef(null, IntPtr.Zero);
+      }
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public aiMemoryInfo() : this(AssimpPINVOKE.new_aiMemoryInfo(), true) {
+  }
+
+  public uint textures {
+    set {
+      AssimpPINVOKE.aiMemoryInfo_textures_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = AssimpPINVOKE.aiMemoryInfo_textures_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint materials {
+    set {
+      AssimpPINVOKE.aiMemoryInfo_materials_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = AssimpPINVOKE.aiMemoryInfo_materials_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint meshes {
+    set {
+      AssimpPINVOKE.aiMemoryInfo_meshes_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = AssimpPINVOKE.aiMemoryInfo_meshes_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint nodes {
+    set {
+      AssimpPINVOKE.aiMemoryInfo_nodes_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = AssimpPINVOKE.aiMemoryInfo_nodes_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint animations {
+    set {
+      AssimpPINVOKE.aiMemoryInfo_animations_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = AssimpPINVOKE.aiMemoryInfo_animations_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint cameras {
+    set {
+      AssimpPINVOKE.aiMemoryInfo_cameras_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = AssimpPINVOKE.aiMemoryInfo_cameras_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint lights {
+    set {
+      AssimpPINVOKE.aiMemoryInfo_lights_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = AssimpPINVOKE.aiMemoryInfo_lights_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint total {
+    set {
+      AssimpPINVOKE.aiMemoryInfo_total_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = AssimpPINVOKE.aiMemoryInfo_total_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+}

+ 240 - 0
port/Assimp.NET/Assimp.NET_CS/aiMesh.cs

@@ -0,0 +1,240 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class aiMesh : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal aiMesh(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(aiMesh obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~aiMesh() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          AssimpPINVOKE.delete_aiMesh(swigCPtr);
+        }
+        swigCPtr = new HandleRef(null, IntPtr.Zero);
+      }
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public uint mPrimitiveTypes {
+    set {
+      AssimpPINVOKE.aiMesh_mPrimitiveTypes_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = AssimpPINVOKE.aiMesh_mPrimitiveTypes_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint mNumVertices {
+    set {
+      AssimpPINVOKE.aiMesh_mNumVertices_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = AssimpPINVOKE.aiMesh_mNumVertices_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint mNumFaces {
+    set {
+      AssimpPINVOKE.aiMesh_mNumFaces_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = AssimpPINVOKE.aiMesh_mNumFaces_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public aiVector3D mVertices {
+    set {
+      AssimpPINVOKE.aiMesh_mVertices_set(swigCPtr, aiVector3D.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiMesh_mVertices_get(swigCPtr);
+      aiVector3D ret = (cPtr == IntPtr.Zero) ? null : new aiVector3D(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public aiVector3D mNormals {
+    set {
+      AssimpPINVOKE.aiMesh_mNormals_set(swigCPtr, aiVector3D.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiMesh_mNormals_get(swigCPtr);
+      aiVector3D ret = (cPtr == IntPtr.Zero) ? null : new aiVector3D(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public aiVector3D mTangents {
+    set {
+      AssimpPINVOKE.aiMesh_mTangents_set(swigCPtr, aiVector3D.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiMesh_mTangents_get(swigCPtr);
+      aiVector3D ret = (cPtr == IntPtr.Zero) ? null : new aiVector3D(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public aiVector3D mBitangents {
+    set {
+      AssimpPINVOKE.aiMesh_mBitangents_set(swigCPtr, aiVector3D.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiMesh_mBitangents_get(swigCPtr);
+      aiVector3D ret = (cPtr == IntPtr.Zero) ? null : new aiVector3D(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_p_aiColor4D mColors {
+    set {
+      AssimpPINVOKE.aiMesh_mColors_set(swigCPtr, SWIGTYPE_p_p_aiColor4D.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiMesh_mColors_get(swigCPtr);
+      SWIGTYPE_p_p_aiColor4D ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_p_aiColor4D(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_p_aiVector3D mTextureCoords {
+    set {
+      AssimpPINVOKE.aiMesh_mTextureCoords_set(swigCPtr, SWIGTYPE_p_p_aiVector3D.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiMesh_mTextureCoords_get(swigCPtr);
+      SWIGTYPE_p_p_aiVector3D ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_p_aiVector3D(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_unsigned_int mNumUVComponents {
+    set {
+      AssimpPINVOKE.aiMesh_mNumUVComponents_set(swigCPtr, SWIGTYPE_p_unsigned_int.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiMesh_mNumUVComponents_get(swigCPtr);
+      SWIGTYPE_p_unsigned_int ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_int(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public aiFace mFaces {
+    set {
+      AssimpPINVOKE.aiMesh_mFaces_set(swigCPtr, aiFace.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiMesh_mFaces_get(swigCPtr);
+      aiFace ret = (cPtr == IntPtr.Zero) ? null : new aiFace(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public uint mNumBones {
+    set {
+      AssimpPINVOKE.aiMesh_mNumBones_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = AssimpPINVOKE.aiMesh_mNumBones_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_p_aiBone mBones {
+    set {
+      AssimpPINVOKE.aiMesh_mBones_set(swigCPtr, SWIGTYPE_p_p_aiBone.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiMesh_mBones_get(swigCPtr);
+      SWIGTYPE_p_p_aiBone ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_p_aiBone(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public uint mMaterialIndex {
+    set {
+      AssimpPINVOKE.aiMesh_mMaterialIndex_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = AssimpPINVOKE.aiMesh_mMaterialIndex_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public aiMesh() : this(AssimpPINVOKE.new_aiMesh(), true) {
+  }
+
+  public bool HasPositions() {
+    bool ret = AssimpPINVOKE.aiMesh_HasPositions(swigCPtr);
+    return ret;
+  }
+
+  public bool HasFaces() {
+    bool ret = AssimpPINVOKE.aiMesh_HasFaces(swigCPtr);
+    return ret;
+  }
+
+  public bool HasNormals() {
+    bool ret = AssimpPINVOKE.aiMesh_HasNormals(swigCPtr);
+    return ret;
+  }
+
+  public bool HasTangentsAndBitangents() {
+    bool ret = AssimpPINVOKE.aiMesh_HasTangentsAndBitangents(swigCPtr);
+    return ret;
+  }
+
+  public bool HasVertexColors(uint pIndex) {
+    bool ret = AssimpPINVOKE.aiMesh_HasVertexColors(swigCPtr, pIndex);
+    return ret;
+  }
+
+  public bool HasTextureCoords(uint pIndex) {
+    bool ret = AssimpPINVOKE.aiMesh_HasTextureCoords(swigCPtr, pIndex);
+    return ret;
+  }
+
+  public uint GetNumUVChannels() {
+    uint ret = AssimpPINVOKE.aiMesh_GetNumUVChannels(swigCPtr);
+    return ret;
+  }
+
+  public uint GetNumColorChannels() {
+    uint ret = AssimpPINVOKE.aiMesh_GetNumColorChannels(swigCPtr);
+    return ret;
+  }
+
+  public bool HasBones() {
+    bool ret = AssimpPINVOKE.aiMesh_HasBones(swigCPtr);
+    return ret;
+  }
+
+}

+ 138 - 0
port/Assimp.NET/Assimp.NET_CS/aiNode.cs

@@ -0,0 +1,138 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class aiNode : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal aiNode(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(aiNode obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~aiNode() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          AssimpPINVOKE.delete_aiNode(swigCPtr);
+        }
+        swigCPtr = new HandleRef(null, IntPtr.Zero);
+      }
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public aiString mName {
+    set {
+      AssimpPINVOKE.aiNode_mName_set(swigCPtr, aiString.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiNode_mName_get(swigCPtr);
+      aiString ret = (cPtr == IntPtr.Zero) ? null : new aiString(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public aiMatrix4x4 mTransformation {
+    set {
+      AssimpPINVOKE.aiNode_mTransformation_set(swigCPtr, aiMatrix4x4.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiNode_mTransformation_get(swigCPtr);
+      aiMatrix4x4 ret = (cPtr == IntPtr.Zero) ? null : new aiMatrix4x4(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public aiNode mParent {
+    set {
+      AssimpPINVOKE.aiNode_mParent_set(swigCPtr, aiNode.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiNode_mParent_get(swigCPtr);
+      aiNode ret = (cPtr == IntPtr.Zero) ? null : new aiNode(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public uint mNumChildren {
+    set {
+      AssimpPINVOKE.aiNode_mNumChildren_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = AssimpPINVOKE.aiNode_mNumChildren_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_p_aiNode mChildren {
+    set {
+      AssimpPINVOKE.aiNode_mChildren_set(swigCPtr, SWIGTYPE_p_p_aiNode.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiNode_mChildren_get(swigCPtr);
+      SWIGTYPE_p_p_aiNode ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_p_aiNode(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public uint mNumMeshes {
+    set {
+      AssimpPINVOKE.aiNode_mNumMeshes_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = AssimpPINVOKE.aiNode_mNumMeshes_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_unsigned_int mMeshes {
+    set {
+      AssimpPINVOKE.aiNode_mMeshes_set(swigCPtr, SWIGTYPE_p_unsigned_int.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiNode_mMeshes_get(swigCPtr);
+      SWIGTYPE_p_unsigned_int ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_int(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public aiNode() : this(AssimpPINVOKE.new_aiNode__SWIG_0(), true) {
+  }
+
+  public aiNode(string name) : this(AssimpPINVOKE.new_aiNode__SWIG_1(name), true) {
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public aiNode FindNode(aiString name) {
+    IntPtr cPtr = AssimpPINVOKE.aiNode_FindNode__SWIG_0(swigCPtr, aiString.getCPtr(name));
+    aiNode ret = (cPtr == IntPtr.Zero) ? null : new aiNode(cPtr, false);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public aiNode FindNode(string name) {
+    IntPtr cPtr = AssimpPINVOKE.aiNode_FindNode__SWIG_1(swigCPtr, name);
+    aiNode ret = (cPtr == IntPtr.Zero) ? null : new aiNode(cPtr, false);
+    return ret;
+  }
+
+}

+ 140 - 0
port/Assimp.NET/Assimp.NET_CS/aiNodeAnim.cs

@@ -0,0 +1,140 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class aiNodeAnim : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal aiNodeAnim(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(aiNodeAnim obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~aiNodeAnim() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          AssimpPINVOKE.delete_aiNodeAnim(swigCPtr);
+        }
+        swigCPtr = new HandleRef(null, IntPtr.Zero);
+      }
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public aiString mNodeName {
+    set {
+      AssimpPINVOKE.aiNodeAnim_mNodeName_set(swigCPtr, aiString.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiNodeAnim_mNodeName_get(swigCPtr);
+      aiString ret = (cPtr == IntPtr.Zero) ? null : new aiString(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public uint mNumPositionKeys {
+    set {
+      AssimpPINVOKE.aiNodeAnim_mNumPositionKeys_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = AssimpPINVOKE.aiNodeAnim_mNumPositionKeys_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public aiVectorKey mPositionKeys {
+    set {
+      AssimpPINVOKE.aiNodeAnim_mPositionKeys_set(swigCPtr, aiVectorKey.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiNodeAnim_mPositionKeys_get(swigCPtr);
+      aiVectorKey ret = (cPtr == IntPtr.Zero) ? null : new aiVectorKey(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public uint mNumRotationKeys {
+    set {
+      AssimpPINVOKE.aiNodeAnim_mNumRotationKeys_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = AssimpPINVOKE.aiNodeAnim_mNumRotationKeys_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public aiQuatKey mRotationKeys {
+    set {
+      AssimpPINVOKE.aiNodeAnim_mRotationKeys_set(swigCPtr, aiQuatKey.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiNodeAnim_mRotationKeys_get(swigCPtr);
+      aiQuatKey ret = (cPtr == IntPtr.Zero) ? null : new aiQuatKey(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public uint mNumScalingKeys {
+    set {
+      AssimpPINVOKE.aiNodeAnim_mNumScalingKeys_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = AssimpPINVOKE.aiNodeAnim_mNumScalingKeys_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public aiVectorKey mScalingKeys {
+    set {
+      AssimpPINVOKE.aiNodeAnim_mScalingKeys_set(swigCPtr, aiVectorKey.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiNodeAnim_mScalingKeys_get(swigCPtr);
+      aiVectorKey ret = (cPtr == IntPtr.Zero) ? null : new aiVectorKey(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public aiAnimBehaviour mPreState {
+    set {
+      AssimpPINVOKE.aiNodeAnim_mPreState_set(swigCPtr, (int)value);
+    } 
+    get {
+      aiAnimBehaviour ret = (aiAnimBehaviour)AssimpPINVOKE.aiNodeAnim_mPreState_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public aiAnimBehaviour mPostState {
+    set {
+      AssimpPINVOKE.aiNodeAnim_mPostState_set(swigCPtr, (int)value);
+    } 
+    get {
+      aiAnimBehaviour ret = (aiAnimBehaviour)AssimpPINVOKE.aiNodeAnim_mPostState_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public aiNodeAnim() : this(AssimpPINVOKE.new_aiNodeAnim(), true) {
+  }
+
+}

+ 15 - 0
port/Assimp.NET/Assimp.NET_CS/aiOrigin.cs

@@ -0,0 +1,15 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+public enum aiOrigin {
+  aiOrigin_SET = 0x0,
+  aiOrigin_CUR = 0x1,
+  aiOrigin_END = 0x2,
+  _AI_ORIGIN_ENFORCE_ENUM_SIZE = 0x7fffffff
+}

+ 93 - 0
port/Assimp.NET/Assimp.NET_CS/aiPlane.cs

@@ -0,0 +1,93 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class aiPlane : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal aiPlane(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(aiPlane obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~aiPlane() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          AssimpPINVOKE.delete_aiPlane(swigCPtr);
+        }
+        swigCPtr = new HandleRef(null, IntPtr.Zero);
+      }
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public aiPlane() : this(AssimpPINVOKE.new_aiPlane__SWIG_0(), true) {
+  }
+
+  public aiPlane(float _a, float _b, float _c, float _d) : this(AssimpPINVOKE.new_aiPlane__SWIG_1(_a, _b, _c, _d), true) {
+  }
+
+  public aiPlane(aiPlane o) : this(AssimpPINVOKE.new_aiPlane__SWIG_2(aiPlane.getCPtr(o)), true) {
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public float a {
+    set {
+      AssimpPINVOKE.aiPlane_a_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiPlane_a_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public float b {
+    set {
+      AssimpPINVOKE.aiPlane_b_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiPlane_b_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public float c {
+    set {
+      AssimpPINVOKE.aiPlane_c_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiPlane_c_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public float d {
+    set {
+      AssimpPINVOKE.aiPlane_d_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiPlane_d_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+}

+ 35 - 0
port/Assimp.NET/Assimp.NET_CS/aiPostProcessSteps.cs

@@ -0,0 +1,35 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+public enum aiPostProcessSteps {
+  aiProcess_CalcTangentSpace = 0x1,
+  aiProcess_JoinIdenticalVertices = 0x2,
+  aiProcess_MakeLeftHanded = 0x4,
+  aiProcess_Triangulate = 0x8,
+  aiProcess_RemoveComponent = 0x10,
+  aiProcess_GenNormals = 0x20,
+  aiProcess_GenSmoothNormals = 0x40,
+  aiProcess_SplitLargeMeshes = 0x80,
+  aiProcess_PreTransformVertices = 0x100,
+  aiProcess_LimitBoneWeights = 0x200,
+  aiProcess_ValidateDataStructure = 0x400,
+  aiProcess_ImproveCacheLocality = 0x800,
+  aiProcess_RemoveRedundantMaterials = 0x1000,
+  aiProcess_FixInfacingNormals = 0x2000,
+  aiProcess_SortByPType = 0x8000,
+  aiProcess_FindDegenerates = 0x10000,
+  aiProcess_FindInvalidData = 0x20000,
+  aiProcess_GenUVCoords = 0x40000,
+  aiProcess_TransformUVCoords = 0x80000,
+  aiProcess_FindInstances = 0x100000,
+  aiProcess_OptimizeMeshes = 0x200000,
+  aiProcess_OptimizeGraph = 0x400000,
+  aiProcess_FlipUVs = 0x800000,
+  aiProcess_FlipWindingOrder = 0x1000000
+}

+ 15 - 0
port/Assimp.NET/Assimp.NET_CS/aiPrimitiveType.cs

@@ -0,0 +1,15 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+public enum aiPrimitiveType {
+  aiPrimitiveType_POINT = 0x1,
+  aiPrimitiveType_LINE = 0x2,
+  aiPrimitiveType_TRIANGLE = 0x4,
+  aiPrimitiveType_POLYGON = 0x8
+}

+ 15 - 0
port/Assimp.NET/Assimp.NET_CS/aiPropertyTypeInfo.cs

@@ -0,0 +1,15 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+public enum aiPropertyTypeInfo {
+  aiPTI_Float = 0x1,
+  aiPTI_String = 0x3,
+  aiPTI_Integer = 0x4,
+  aiPTI_Buffer = 0x5
+}

+ 95 - 0
port/Assimp.NET/Assimp.NET_CS/aiQuatKey.cs

@@ -0,0 +1,95 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class aiQuatKey : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal aiQuatKey(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(aiQuatKey obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~aiQuatKey() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          AssimpPINVOKE.delete_aiQuatKey(swigCPtr);
+        }
+        swigCPtr = new HandleRef(null, IntPtr.Zero);
+      }
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public double mTime {
+    set {
+      AssimpPINVOKE.aiQuatKey_mTime_set(swigCPtr, value);
+    } 
+    get {
+      double ret = AssimpPINVOKE.aiQuatKey_mTime_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public aiQuaternion mValue {
+    set {
+      AssimpPINVOKE.aiQuatKey_mValue_set(swigCPtr, aiQuaternion.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiQuatKey_mValue_get(swigCPtr);
+      aiQuaternion ret = (cPtr == IntPtr.Zero) ? null : new aiQuaternion(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public aiQuatKey() : this(AssimpPINVOKE.new_aiQuatKey__SWIG_0(), true) {
+  }
+
+  public aiQuatKey(double time, aiQuaternion value) : this(AssimpPINVOKE.new_aiQuatKey__SWIG_1(time, aiQuaternion.getCPtr(value)), true) {
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public bool __equal__(aiQuatKey o) {
+    bool ret = AssimpPINVOKE.aiQuatKey___equal__(swigCPtr, aiQuatKey.getCPtr(o));
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool __nequal__(aiQuatKey o) {
+    bool ret = AssimpPINVOKE.aiQuatKey___nequal__(swigCPtr, aiQuatKey.getCPtr(o));
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool __smaller__(aiQuatKey o) {
+    bool ret = AssimpPINVOKE.aiQuatKey___smaller__(swigCPtr, aiQuatKey.getCPtr(o));
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool __greater__(aiQuatKey o) {
+    bool ret = AssimpPINVOKE.aiQuatKey___greater__(swigCPtr, aiQuatKey.getCPtr(o));
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}

+ 148 - 0
port/Assimp.NET/Assimp.NET_CS/aiQuaternion.cs

@@ -0,0 +1,148 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class aiQuaternion : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal aiQuaternion(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(aiQuaternion obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~aiQuaternion() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          AssimpPINVOKE.delete_aiQuaternion(swigCPtr);
+        }
+        swigCPtr = new HandleRef(null, IntPtr.Zero);
+      }
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public aiQuaternion() : this(AssimpPINVOKE.new_aiQuaternion__SWIG_0(), true) {
+  }
+
+  public aiQuaternion(float _w, float _x, float _y, float _z) : this(AssimpPINVOKE.new_aiQuaternion__SWIG_1(_w, _x, _y, _z), true) {
+  }
+
+  public aiQuaternion(aiMatrix3x3 pRotMatrix) : this(AssimpPINVOKE.new_aiQuaternion__SWIG_2(aiMatrix3x3.getCPtr(pRotMatrix)), true) {
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public aiQuaternion(float rotx, float roty, float rotz) : this(AssimpPINVOKE.new_aiQuaternion__SWIG_3(rotx, roty, rotz), true) {
+  }
+
+  public aiQuaternion(aiVector3D axis, float angle) : this(AssimpPINVOKE.new_aiQuaternion__SWIG_4(aiVector3D.getCPtr(axis), angle), true) {
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public aiQuaternion(aiVector3D normalized) : this(AssimpPINVOKE.new_aiQuaternion__SWIG_5(aiVector3D.getCPtr(normalized)), true) {
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public aiMatrix3x3 GetMatrix() {
+    aiMatrix3x3 ret = new aiMatrix3x3(AssimpPINVOKE.aiQuaternion_GetMatrix(swigCPtr), true);
+    return ret;
+  }
+
+  public bool __equal__(aiQuaternion o) {
+    bool ret = AssimpPINVOKE.aiQuaternion___equal__(swigCPtr, aiQuaternion.getCPtr(o));
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool __nequal__(aiQuaternion o) {
+    bool ret = AssimpPINVOKE.aiQuaternion___nequal__(swigCPtr, aiQuaternion.getCPtr(o));
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public aiQuaternion Normalize() {
+    aiQuaternion ret = new aiQuaternion(AssimpPINVOKE.aiQuaternion_Normalize(swigCPtr), false);
+    return ret;
+  }
+
+  public aiQuaternion Conjugate() {
+    aiQuaternion ret = new aiQuaternion(AssimpPINVOKE.aiQuaternion_Conjugate(swigCPtr), false);
+    return ret;
+  }
+
+  public aiVector3D Rotate(aiVector3D arg0) {
+    aiVector3D ret = new aiVector3D(AssimpPINVOKE.aiQuaternion_Rotate(swigCPtr, aiVector3D.getCPtr(arg0)), true);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public aiQuaternion __mul__(aiQuaternion two) {
+    aiQuaternion ret = new aiQuaternion(AssimpPINVOKE.aiQuaternion___mul__(swigCPtr, aiQuaternion.getCPtr(two)), true);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static void Interpolate(aiQuaternion pOut, aiQuaternion pStart, aiQuaternion pEnd, float pFactor) {
+    AssimpPINVOKE.aiQuaternion_Interpolate(aiQuaternion.getCPtr(pOut), aiQuaternion.getCPtr(pStart), aiQuaternion.getCPtr(pEnd), pFactor);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public float w {
+    set {
+      AssimpPINVOKE.aiQuaternion_w_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiQuaternion_w_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public float x {
+    set {
+      AssimpPINVOKE.aiQuaternion_x_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiQuaternion_x_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public float y {
+    set {
+      AssimpPINVOKE.aiQuaternion_y_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiQuaternion_y_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public float z {
+    set {
+      AssimpPINVOKE.aiQuaternion_z_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiQuaternion_z_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+}

+ 76 - 0
port/Assimp.NET/Assimp.NET_CS/aiRay.cs

@@ -0,0 +1,76 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class aiRay : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal aiRay(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(aiRay obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~aiRay() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          AssimpPINVOKE.delete_aiRay(swigCPtr);
+        }
+        swigCPtr = new HandleRef(null, IntPtr.Zero);
+      }
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public aiRay() : this(AssimpPINVOKE.new_aiRay__SWIG_0(), true) {
+  }
+
+  public aiRay(aiVector3D _pos, aiVector3D _dir) : this(AssimpPINVOKE.new_aiRay__SWIG_1(aiVector3D.getCPtr(_pos), aiVector3D.getCPtr(_dir)), true) {
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public aiRay(aiRay o) : this(AssimpPINVOKE.new_aiRay__SWIG_2(aiRay.getCPtr(o)), true) {
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public aiVector3D pos {
+    set {
+      AssimpPINVOKE.aiRay_pos_set(swigCPtr, aiVector3D.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiRay_pos_get(swigCPtr);
+      aiVector3D ret = (cPtr == IntPtr.Zero) ? null : new aiVector3D(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public aiVector3D dir {
+    set {
+      AssimpPINVOKE.aiRay_dir_set(swigCPtr, aiVector3D.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiRay_dir_get(swigCPtr);
+      aiVector3D ret = (cPtr == IntPtr.Zero) ? null : new aiVector3D(cPtr, false);
+      return ret;
+    } 
+  }
+
+}

+ 15 - 0
port/Assimp.NET/Assimp.NET_CS/aiReturn.cs

@@ -0,0 +1,15 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+public enum aiReturn {
+  aiReturn_SUCCESS = 0x0,
+  aiReturn_FAILURE = -0x1,
+  aiReturn_OUTOFMEMORY = -0x3,
+  _AI_ENFORCE_ENUM_SIZE = 0x7fffffff
+}

+ 223 - 0
port/Assimp.NET/Assimp.NET_CS/aiScene.cs

@@ -0,0 +1,223 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class aiScene : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal aiScene(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(aiScene obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~aiScene() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          AssimpPINVOKE.delete_aiScene(swigCPtr);
+        }
+        swigCPtr = new HandleRef(null, IntPtr.Zero);
+      }
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public uint mFlags {
+    set {
+      AssimpPINVOKE.aiScene_mFlags_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = AssimpPINVOKE.aiScene_mFlags_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public aiNode mRootNode {
+    set {
+      AssimpPINVOKE.aiScene_mRootNode_set(swigCPtr, aiNode.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiScene_mRootNode_get(swigCPtr);
+      aiNode ret = (cPtr == IntPtr.Zero) ? null : new aiNode(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public uint mNumMeshes {
+    set {
+      AssimpPINVOKE.aiScene_mNumMeshes_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = AssimpPINVOKE.aiScene_mNumMeshes_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_p_aiMesh mMeshes {
+    set {
+      AssimpPINVOKE.aiScene_mMeshes_set(swigCPtr, SWIGTYPE_p_p_aiMesh.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiScene_mMeshes_get(swigCPtr);
+      SWIGTYPE_p_p_aiMesh ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_p_aiMesh(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public uint mNumMaterials {
+    set {
+      AssimpPINVOKE.aiScene_mNumMaterials_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = AssimpPINVOKE.aiScene_mNumMaterials_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_p_aiMaterial mMaterials {
+    set {
+      AssimpPINVOKE.aiScene_mMaterials_set(swigCPtr, SWIGTYPE_p_p_aiMaterial.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiScene_mMaterials_get(swigCPtr);
+      SWIGTYPE_p_p_aiMaterial ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_p_aiMaterial(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public uint mNumAnimations {
+    set {
+      AssimpPINVOKE.aiScene_mNumAnimations_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = AssimpPINVOKE.aiScene_mNumAnimations_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_p_aiAnimation mAnimations {
+    set {
+      AssimpPINVOKE.aiScene_mAnimations_set(swigCPtr, SWIGTYPE_p_p_aiAnimation.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiScene_mAnimations_get(swigCPtr);
+      SWIGTYPE_p_p_aiAnimation ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_p_aiAnimation(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public uint mNumTextures {
+    set {
+      AssimpPINVOKE.aiScene_mNumTextures_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = AssimpPINVOKE.aiScene_mNumTextures_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_p_aiTexture mTextures {
+    set {
+      AssimpPINVOKE.aiScene_mTextures_set(swigCPtr, SWIGTYPE_p_p_aiTexture.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiScene_mTextures_get(swigCPtr);
+      SWIGTYPE_p_p_aiTexture ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_p_aiTexture(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public uint mNumLights {
+    set {
+      AssimpPINVOKE.aiScene_mNumLights_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = AssimpPINVOKE.aiScene_mNumLights_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_p_aiLight mLights {
+    set {
+      AssimpPINVOKE.aiScene_mLights_set(swigCPtr, SWIGTYPE_p_p_aiLight.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiScene_mLights_get(swigCPtr);
+      SWIGTYPE_p_p_aiLight ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_p_aiLight(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public uint mNumCameras {
+    set {
+      AssimpPINVOKE.aiScene_mNumCameras_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = AssimpPINVOKE.aiScene_mNumCameras_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_p_aiCamera mCameras {
+    set {
+      AssimpPINVOKE.aiScene_mCameras_set(swigCPtr, SWIGTYPE_p_p_aiCamera.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiScene_mCameras_get(swigCPtr);
+      SWIGTYPE_p_p_aiCamera ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_p_aiCamera(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public aiScene() : this(AssimpPINVOKE.new_aiScene(), true) {
+  }
+
+  public bool HasMeshes() {
+    bool ret = AssimpPINVOKE.aiScene_HasMeshes(swigCPtr);
+    return ret;
+  }
+
+  public bool HasMaterials() {
+    bool ret = AssimpPINVOKE.aiScene_HasMaterials(swigCPtr);
+    return ret;
+  }
+
+  public bool HasLights() {
+    bool ret = AssimpPINVOKE.aiScene_HasLights(swigCPtr);
+    return ret;
+  }
+
+  public bool HasTextures() {
+    bool ret = AssimpPINVOKE.aiScene_HasTextures(swigCPtr);
+    return ret;
+  }
+
+  public bool HasCameras() {
+    bool ret = AssimpPINVOKE.aiScene_HasCameras(swigCPtr);
+    return ret;
+  }
+
+  public bool HasAnimations() {
+    bool ret = AssimpPINVOKE.aiScene_HasAnimations(swigCPtr);
+    return ret;
+  }
+
+}

+ 21 - 0
port/Assimp.NET/Assimp.NET_CS/aiShadingMode.cs

@@ -0,0 +1,21 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+public enum aiShadingMode {
+  aiShadingMode_Flat = 0x1,
+  aiShadingMode_Gouraud = 0x2,
+  aiShadingMode_Phong = 0x3,
+  aiShadingMode_Blinn = 0x4,
+  aiShadingMode_Toon = 0x5,
+  aiShadingMode_OrenNayar = 0x6,
+  aiShadingMode_Minnaert = 0x7,
+  aiShadingMode_CookTorrance = 0x8,
+  aiShadingMode_NoShading = 0x9,
+  aiShadingMode_Fresnel = 0xa
+}

+ 104 - 0
port/Assimp.NET/Assimp.NET_CS/aiString.cs

@@ -0,0 +1,104 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class aiString : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal aiString(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(aiString obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~aiString() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          AssimpPINVOKE.delete_aiString(swigCPtr);
+        }
+        swigCPtr = new HandleRef(null, IntPtr.Zero);
+      }
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public aiString() : this(AssimpPINVOKE.new_aiString__SWIG_0(), true) {
+  }
+
+  public aiString(aiString rOther) : this(AssimpPINVOKE.new_aiString__SWIG_1(aiString.getCPtr(rOther)), true) {
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public aiString(string pString) : this(AssimpPINVOKE.new_aiString__SWIG_2(pString), true) {
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Set(string pString) {
+    AssimpPINVOKE.aiString_Set__SWIG_0(swigCPtr, pString);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public aiString __set__(string sz) {
+    aiString ret = new aiString(AssimpPINVOKE.aiString___set____SWIG_0(swigCPtr, sz), false);
+    return ret;
+  }
+
+  public bool __equal__(aiString other) {
+    bool ret = AssimpPINVOKE.aiString___equal__(swigCPtr, aiString.getCPtr(other));
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool __nequal__(aiString other) {
+    bool ret = AssimpPINVOKE.aiString___nequal__(swigCPtr, aiString.getCPtr(other));
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Append(string app) {
+    AssimpPINVOKE.aiString_Append(swigCPtr, app);
+  }
+
+  public void Clear() {
+    AssimpPINVOKE.aiString_Clear(swigCPtr);
+  }
+
+  public uint length {
+    set {
+      AssimpPINVOKE.aiString_length_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = AssimpPINVOKE.aiString_length_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string data {
+    set {
+      AssimpPINVOKE.aiString_data_set(swigCPtr, value);
+    } 
+    get {
+      string ret = AssimpPINVOKE.aiString_data_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+}

+ 98 - 0
port/Assimp.NET/Assimp.NET_CS/aiTexel.cs

@@ -0,0 +1,98 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class aiTexel : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal aiTexel(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(aiTexel obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~aiTexel() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          AssimpPINVOKE.delete_aiTexel(swigCPtr);
+        }
+        swigCPtr = new HandleRef(null, IntPtr.Zero);
+      }
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public byte b {
+    set {
+      AssimpPINVOKE.aiTexel_b_set(swigCPtr, value);
+    } 
+    get {
+      byte ret = AssimpPINVOKE.aiTexel_b_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public byte g {
+    set {
+      AssimpPINVOKE.aiTexel_g_set(swigCPtr, value);
+    } 
+    get {
+      byte ret = AssimpPINVOKE.aiTexel_g_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public byte r {
+    set {
+      AssimpPINVOKE.aiTexel_r_set(swigCPtr, value);
+    } 
+    get {
+      byte ret = AssimpPINVOKE.aiTexel_r_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public byte a {
+    set {
+      AssimpPINVOKE.aiTexel_a_set(swigCPtr, value);
+    } 
+    get {
+      byte ret = AssimpPINVOKE.aiTexel_a_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public bool __equal__(aiTexel other) {
+    bool ret = AssimpPINVOKE.aiTexel___equal__(swigCPtr, aiTexel.getCPtr(other));
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool __nequal__(aiTexel other) {
+    bool ret = AssimpPINVOKE.aiTexel___nequal__(swigCPtr, aiTexel.getCPtr(other));
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public aiTexel() : this(AssimpPINVOKE.new_aiTexel(), true) {
+  }
+
+}

+ 92 - 0
port/Assimp.NET/Assimp.NET_CS/aiTexture.cs

@@ -0,0 +1,92 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class aiTexture : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal aiTexture(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(aiTexture obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~aiTexture() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          AssimpPINVOKE.delete_aiTexture(swigCPtr);
+        }
+        swigCPtr = new HandleRef(null, IntPtr.Zero);
+      }
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public uint mWidth {
+    set {
+      AssimpPINVOKE.aiTexture_mWidth_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = AssimpPINVOKE.aiTexture_mWidth_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint mHeight {
+    set {
+      AssimpPINVOKE.aiTexture_mHeight_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = AssimpPINVOKE.aiTexture_mHeight_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string achFormatHint {
+    set {
+      AssimpPINVOKE.aiTexture_achFormatHint_set(swigCPtr, value);
+    } 
+    get {
+      string ret = AssimpPINVOKE.aiTexture_achFormatHint_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public aiTexel pcData {
+    set {
+      AssimpPINVOKE.aiTexture_pcData_set(swigCPtr, aiTexel.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiTexture_pcData_get(swigCPtr);
+      aiTexel ret = (cPtr == IntPtr.Zero) ? null : new aiTexel(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public bool CheckFormat(string s) {
+    bool ret = AssimpPINVOKE.aiTexture_CheckFormat(swigCPtr, s);
+    return ret;
+  }
+
+  public aiTexture() : this(AssimpPINVOKE.new_aiTexture(), true) {
+  }
+
+}

+ 14 - 0
port/Assimp.NET/Assimp.NET_CS/aiTextureFlags.cs

@@ -0,0 +1,14 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+public enum aiTextureFlags {
+  aiTextureFlags_Invert = 0x1,
+  aiTextureFlags_UseAlpha = 0x2,
+  aiTextureFlags_IgnoreAlpha = 0x4
+}

+ 15 - 0
port/Assimp.NET/Assimp.NET_CS/aiTextureMapMode.cs

@@ -0,0 +1,15 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+public enum aiTextureMapMode {
+  aiTextureMapMode_Wrap = 0x0,
+  aiTextureMapMode_Clamp = 0x1,
+  aiTextureMapMode_Decal = 0x3,
+  aiTextureMapMode_Mirror = 0x2
+}

+ 17 - 0
port/Assimp.NET/Assimp.NET_CS/aiTextureMapping.cs

@@ -0,0 +1,17 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+public enum aiTextureMapping {
+  aiTextureMapping_UV = 0x0,
+  aiTextureMapping_SPHERE = 0x1,
+  aiTextureMapping_CYLINDER = 0x2,
+  aiTextureMapping_BOX = 0x3,
+  aiTextureMapping_PLANE = 0x4,
+  aiTextureMapping_OTHER = 0x5
+}

+ 17 - 0
port/Assimp.NET/Assimp.NET_CS/aiTextureOp.cs

@@ -0,0 +1,17 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+public enum aiTextureOp {
+  aiTextureOp_Multiply = 0x0,
+  aiTextureOp_Add = 0x1,
+  aiTextureOp_Subtract = 0x2,
+  aiTextureOp_Divide = 0x3,
+  aiTextureOp_SmoothAdd = 0x4,
+  aiTextureOp_SignedAdd = 0x5
+}

+ 24 - 0
port/Assimp.NET/Assimp.NET_CS/aiTextureType.cs

@@ -0,0 +1,24 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+public enum aiTextureType {
+  aiTextureType_NONE = 0x0,
+  aiTextureType_DIFFUSE = 0x1,
+  aiTextureType_SPECULAR = 0x2,
+  aiTextureType_AMBIENT = 0x3,
+  aiTextureType_EMISSIVE = 0x4,
+  aiTextureType_HEIGHT = 0x5,
+  aiTextureType_NORMALS = 0x6,
+  aiTextureType_SHININESS = 0x7,
+  aiTextureType_OPACITY = 0x8,
+  aiTextureType_DISPLACEMENT = 0x9,
+  aiTextureType_LIGHTMAP = 0xA,
+  aiTextureType_REFLECTION = 0xB,
+  aiTextureType_UNKNOWN = 0xC
+}

+ 78 - 0
port/Assimp.NET/Assimp.NET_CS/aiUVTransform.cs

@@ -0,0 +1,78 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class aiUVTransform : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal aiUVTransform(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(aiUVTransform obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~aiUVTransform() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          AssimpPINVOKE.delete_aiUVTransform(swigCPtr);
+        }
+        swigCPtr = new HandleRef(null, IntPtr.Zero);
+      }
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public aiVector2D mTranslation {
+    set {
+      AssimpPINVOKE.aiUVTransform_mTranslation_set(swigCPtr, aiVector2D.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiUVTransform_mTranslation_get(swigCPtr);
+      aiVector2D ret = (cPtr == IntPtr.Zero) ? null : new aiVector2D(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public aiVector2D mScaling {
+    set {
+      AssimpPINVOKE.aiUVTransform_mScaling_set(swigCPtr, aiVector2D.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiUVTransform_mScaling_get(swigCPtr);
+      aiVector2D ret = (cPtr == IntPtr.Zero) ? null : new aiVector2D(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public float mRotation {
+    set {
+      AssimpPINVOKE.aiUVTransform_mRotation_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiUVTransform_mRotation_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public aiUVTransform() : this(AssimpPINVOKE.new_aiUVTransform(), true) {
+  }
+
+}

+ 145 - 0
port/Assimp.NET/Assimp.NET_CS/aiVector2D.cs

@@ -0,0 +1,145 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class aiVector2D : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal aiVector2D(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(aiVector2D obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~aiVector2D() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          AssimpPINVOKE.delete_aiVector2D(swigCPtr);
+        }
+        swigCPtr = new HandleRef(null, IntPtr.Zero);
+      }
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public aiVector2D() : this(AssimpPINVOKE.new_aiVector2D__SWIG_0(), true) {
+  }
+
+  public aiVector2D(float _x, float _y) : this(AssimpPINVOKE.new_aiVector2D__SWIG_1(_x, _y), true) {
+  }
+
+  public aiVector2D(float _xyz) : this(AssimpPINVOKE.new_aiVector2D__SWIG_2(_xyz), true) {
+  }
+
+  public aiVector2D(aiVector2D o) : this(AssimpPINVOKE.new_aiVector2D__SWIG_3(aiVector2D.getCPtr(o)), true) {
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Set(float pX, float pY) {
+    AssimpPINVOKE.aiVector2D_Set(swigCPtr, pX, pY);
+  }
+
+  public float SquareLength() {
+    float ret = AssimpPINVOKE.aiVector2D_SquareLength(swigCPtr);
+    return ret;
+  }
+
+  public float Length() {
+    float ret = AssimpPINVOKE.aiVector2D_Length(swigCPtr);
+    return ret;
+  }
+
+  public aiVector2D Normalize() {
+    aiVector2D ret = new aiVector2D(AssimpPINVOKE.aiVector2D_Normalize(swigCPtr), false);
+    return ret;
+  }
+
+  public aiVector2D __addnset__(aiVector2D o) {
+    aiVector2D ret = new aiVector2D(AssimpPINVOKE.aiVector2D___addnset__(swigCPtr, aiVector2D.getCPtr(o)), false);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public aiVector2D __subnset__(aiVector2D o) {
+    aiVector2D ret = new aiVector2D(AssimpPINVOKE.aiVector2D___subnset__(swigCPtr, aiVector2D.getCPtr(o)), false);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public aiVector2D __mulnset__(float f) {
+    aiVector2D ret = new aiVector2D(AssimpPINVOKE.aiVector2D___mulnset__(swigCPtr, f), false);
+    return ret;
+  }
+
+  public aiVector2D __divnset__(float f) {
+    aiVector2D ret = new aiVector2D(AssimpPINVOKE.aiVector2D___divnset__(swigCPtr, f), false);
+    return ret;
+  }
+
+  public float __idx__(uint i) {
+    float ret = AssimpPINVOKE.aiVector2D___idx____SWIG_0(swigCPtr, i);
+    return ret;
+  }
+
+  public bool __equal__(aiVector2D other) {
+    bool ret = AssimpPINVOKE.aiVector2D___equal__(swigCPtr, aiVector2D.getCPtr(other));
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool __nequal__(aiVector2D other) {
+    bool ret = AssimpPINVOKE.aiVector2D___nequal__(swigCPtr, aiVector2D.getCPtr(other));
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public aiVector2D __set__(float f) {
+    aiVector2D ret = new aiVector2D(AssimpPINVOKE.aiVector2D___set__(swigCPtr, f), false);
+    return ret;
+  }
+
+  public aiVector2D SymMul(aiVector2D o) {
+    aiVector2D ret = new aiVector2D(AssimpPINVOKE.aiVector2D_SymMul(swigCPtr, aiVector2D.getCPtr(o)), true);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float x {
+    set {
+      AssimpPINVOKE.aiVector2D_x_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiVector2D_x_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public float y {
+    set {
+      AssimpPINVOKE.aiVector2D_y_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiVector2D_y_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+}

+ 162 - 0
port/Assimp.NET/Assimp.NET_CS/aiVector3D.cs

@@ -0,0 +1,162 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class aiVector3D : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal aiVector3D(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(aiVector3D obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~aiVector3D() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          AssimpPINVOKE.delete_aiVector3D(swigCPtr);
+        }
+        swigCPtr = new HandleRef(null, IntPtr.Zero);
+      }
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public aiVector3D() : this(AssimpPINVOKE.new_aiVector3D__SWIG_0(), true) {
+  }
+
+  public aiVector3D(float _x, float _y, float _z) : this(AssimpPINVOKE.new_aiVector3D__SWIG_1(_x, _y, _z), true) {
+  }
+
+  public aiVector3D(float _xyz) : this(AssimpPINVOKE.new_aiVector3D__SWIG_2(_xyz), true) {
+  }
+
+  public aiVector3D(aiVector3D o) : this(AssimpPINVOKE.new_aiVector3D__SWIG_3(aiVector3D.getCPtr(o)), true) {
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public aiVector3D __addnset__(aiVector3D o) {
+    aiVector3D ret = new aiVector3D(AssimpPINVOKE.aiVector3D___addnset__(swigCPtr, aiVector3D.getCPtr(o)), false);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public aiVector3D __subnset__(aiVector3D o) {
+    aiVector3D ret = new aiVector3D(AssimpPINVOKE.aiVector3D___subnset__(swigCPtr, aiVector3D.getCPtr(o)), false);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public aiVector3D __mulnset__(float f) {
+    aiVector3D ret = new aiVector3D(AssimpPINVOKE.aiVector3D___mulnset____SWIG_0(swigCPtr, f), false);
+    return ret;
+  }
+
+  public aiVector3D __divnset__(float f) {
+    aiVector3D ret = new aiVector3D(AssimpPINVOKE.aiVector3D___divnset__(swigCPtr, f), false);
+    return ret;
+  }
+
+  public aiVector3D __mulnset__(aiMatrix3x3 mat) {
+    aiVector3D ret = new aiVector3D(AssimpPINVOKE.aiVector3D___mulnset____SWIG_1(swigCPtr, aiMatrix3x3.getCPtr(mat)), false);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public aiVector3D __mulnset__(aiMatrix4x4 mat) {
+    aiVector3D ret = new aiVector3D(AssimpPINVOKE.aiVector3D___mulnset____SWIG_2(swigCPtr, aiMatrix4x4.getCPtr(mat)), false);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float __idx__(uint i) {
+    float ret = AssimpPINVOKE.aiVector3D___idx____SWIG_0(swigCPtr, i);
+    return ret;
+  }
+
+  public bool __equal__(aiVector3D other) {
+    bool ret = AssimpPINVOKE.aiVector3D___equal__(swigCPtr, aiVector3D.getCPtr(other));
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool __nequal__(aiVector3D other) {
+    bool ret = AssimpPINVOKE.aiVector3D___nequal__(swigCPtr, aiVector3D.getCPtr(other));
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Set(float pX, float pY, float pZ) {
+    AssimpPINVOKE.aiVector3D_Set(swigCPtr, pX, pY, pZ);
+  }
+
+  public float SquareLength() {
+    float ret = AssimpPINVOKE.aiVector3D_SquareLength(swigCPtr);
+    return ret;
+  }
+
+  public float Length() {
+    float ret = AssimpPINVOKE.aiVector3D_Length(swigCPtr);
+    return ret;
+  }
+
+  public aiVector3D Normalize() {
+    aiVector3D ret = new aiVector3D(AssimpPINVOKE.aiVector3D_Normalize(swigCPtr), false);
+    return ret;
+  }
+
+  public aiVector3D SymMul(aiVector3D o) {
+    aiVector3D ret = new aiVector3D(AssimpPINVOKE.aiVector3D_SymMul(swigCPtr, aiVector3D.getCPtr(o)), true);
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float x {
+    set {
+      AssimpPINVOKE.aiVector3D_x_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiVector3D_x_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public float y {
+    set {
+      AssimpPINVOKE.aiVector3D_y_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiVector3D_y_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public float z {
+    set {
+      AssimpPINVOKE.aiVector3D_z_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiVector3D_z_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+}

+ 95 - 0
port/Assimp.NET/Assimp.NET_CS/aiVectorKey.cs

@@ -0,0 +1,95 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class aiVectorKey : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal aiVectorKey(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(aiVectorKey obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~aiVectorKey() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          AssimpPINVOKE.delete_aiVectorKey(swigCPtr);
+        }
+        swigCPtr = new HandleRef(null, IntPtr.Zero);
+      }
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public double mTime {
+    set {
+      AssimpPINVOKE.aiVectorKey_mTime_set(swigCPtr, value);
+    } 
+    get {
+      double ret = AssimpPINVOKE.aiVectorKey_mTime_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public aiVector3D mValue {
+    set {
+      AssimpPINVOKE.aiVectorKey_mValue_set(swigCPtr, aiVector3D.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = AssimpPINVOKE.aiVectorKey_mValue_get(swigCPtr);
+      aiVector3D ret = (cPtr == IntPtr.Zero) ? null : new aiVector3D(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public aiVectorKey() : this(AssimpPINVOKE.new_aiVectorKey__SWIG_0(), true) {
+  }
+
+  public aiVectorKey(double time, aiVector3D value) : this(AssimpPINVOKE.new_aiVectorKey__SWIG_1(time, aiVector3D.getCPtr(value)), true) {
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public bool __equal__(aiVectorKey o) {
+    bool ret = AssimpPINVOKE.aiVectorKey___equal__(swigCPtr, aiVectorKey.getCPtr(o));
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool __nequal__(aiVectorKey o) {
+    bool ret = AssimpPINVOKE.aiVectorKey___nequal__(swigCPtr, aiVectorKey.getCPtr(o));
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool __smaller__(aiVectorKey o) {
+    bool ret = AssimpPINVOKE.aiVectorKey___smaller__(swigCPtr, aiVectorKey.getCPtr(o));
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool __greater__(aiVectorKey o) {
+    bool ret = AssimpPINVOKE.aiVectorKey___greater__(swigCPtr, aiVectorKey.getCPtr(o));
+    if (AssimpPINVOKE.SWIGPendingException.Pending) throw AssimpPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}

+ 69 - 0
port/Assimp.NET/Assimp.NET_CS/aiVertexWeight.cs

@@ -0,0 +1,69 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.40
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+using System;
+using System.Runtime.InteropServices;
+
+public class aiVertexWeight : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal aiVertexWeight(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(aiVertexWeight obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~aiVertexWeight() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          AssimpPINVOKE.delete_aiVertexWeight(swigCPtr);
+        }
+        swigCPtr = new HandleRef(null, IntPtr.Zero);
+      }
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public uint mVertexId {
+    set {
+      AssimpPINVOKE.aiVertexWeight_mVertexId_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = AssimpPINVOKE.aiVertexWeight_mVertexId_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public float mWeight {
+    set {
+      AssimpPINVOKE.aiVertexWeight_mWeight_set(swigCPtr, value);
+    } 
+    get {
+      float ret = AssimpPINVOKE.aiVertexWeight_mWeight_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public aiVertexWeight() : this(AssimpPINVOKE.new_aiVertexWeight__SWIG_0(), true) {
+  }
+
+  public aiVertexWeight(uint pID, float pWeight) : this(AssimpPINVOKE.new_aiVertexWeight__SWIG_1(pID, pWeight), true) {
+  }
+
+}

+ 5 - 0
port/Assimp.NET/Assimp.NET_CS/obj/Debug/Assimp.NET_CS.csproj.FileListAbsolute.txt

@@ -0,0 +1,5 @@
+D:\Projekte\Assimp\trunk\port\Assimp.NET\port_bin\Assimp.NET_CS.dll
+D:\Projekte\Assimp\trunk\port\Assimp.NET\port_bin\Assimp.NET_CS.pdb
+D:\Projekte\Assimp\trunk\port\Assimp.NET\Assimp.NET_CS\obj\Debug\ResolveAssemblyReference.cache
+D:\Projekte\Assimp\trunk\port\Assimp.NET\Assimp.NET_CS\obj\Debug\Assimp.NET_CS.dll
+D:\Projekte\Assimp\trunk\port\Assimp.NET\Assimp.NET_CS\obj\Debug\Assimp.NET_CS.pdb

BIN
port/Assimp.NET/Assimp.NET_CS/obj/Debug/Assimp.NET_CS.dll


BIN
port/Assimp.NET/Assimp.NET_CS/obj/Debug/Assimp.NET_CS.pdb


BIN
port/Assimp.NET/Assimp.NET_CS/obj/Debug/ResolveAssemblyReference.cache