summaryrefslogtreecommitdiff
path: root/libs/assimp/port/swig/interface
diff options
context:
space:
mode:
Diffstat (limited to 'libs/assimp/port/swig/interface')
-rw-r--r--libs/assimp/port/swig/interface/DefaultLogger.i5
-rw-r--r--libs/assimp/port/swig/interface/IOStream.i5
-rw-r--r--libs/assimp/port/swig/interface/IOSystem.i11
-rw-r--r--libs/assimp/port/swig/interface/LogStream.i5
-rw-r--r--libs/assimp/port/swig/interface/Logger.i5
-rw-r--r--libs/assimp/port/swig/interface/NullLogger.i5
-rw-r--r--libs/assimp/port/swig/interface/aiAnim.i8
-rw-r--r--libs/assimp/port/swig/interface/aiAssert.i5
-rw-r--r--libs/assimp/port/swig/interface/aiCamera.i5
-rw-r--r--libs/assimp/port/swig/interface/aiColor4D.i5
-rw-r--r--libs/assimp/port/swig/interface/aiConfig.i5
-rw-r--r--libs/assimp/port/swig/interface/aiDefines.i5
-rw-r--r--libs/assimp/port/swig/interface/aiFileIO.i5
-rw-r--r--libs/assimp/port/swig/interface/aiLight.i5
-rw-r--r--libs/assimp/port/swig/interface/aiMaterial.i33
-rw-r--r--libs/assimp/port/swig/interface/aiMatrix3x3.i5
-rw-r--r--libs/assimp/port/swig/interface/aiMatrix4x4.i5
-rw-r--r--libs/assimp/port/swig/interface/aiMesh.i29
-rw-r--r--libs/assimp/port/swig/interface/aiPostProcess.i7
-rw-r--r--libs/assimp/port/swig/interface/aiQuaternion.i5
-rw-r--r--libs/assimp/port/swig/interface/aiScene.i17
-rw-r--r--libs/assimp/port/swig/interface/aiTexture.i5
-rw-r--r--libs/assimp/port/swig/interface/aiTypes.i8
-rw-r--r--libs/assimp/port/swig/interface/aiVector2D.i5
-rw-r--r--libs/assimp/port/swig/interface/aiVector3D.i5
-rw-r--r--libs/assimp/port/swig/interface/aiVersion.i5
-rw-r--r--libs/assimp/port/swig/interface/assimp.i45
27 files changed, 253 insertions, 0 deletions
diff --git a/libs/assimp/port/swig/interface/DefaultLogger.i b/libs/assimp/port/swig/interface/DefaultLogger.i
new file mode 100644
index 0000000..600d28e
--- /dev/null
+++ b/libs/assimp/port/swig/interface/DefaultLogger.i
@@ -0,0 +1,5 @@
+%{
+#include "DefaultLogger.h"
+%}
+
+%include "DefaultLogger.h"
diff --git a/libs/assimp/port/swig/interface/IOStream.i b/libs/assimp/port/swig/interface/IOStream.i
new file mode 100644
index 0000000..baca5ef
--- /dev/null
+++ b/libs/assimp/port/swig/interface/IOStream.i
@@ -0,0 +1,5 @@
+%{
+#include "IOStream.h"
+%}
+
+%include "IOStream.h"
diff --git a/libs/assimp/port/swig/interface/IOSystem.i b/libs/assimp/port/swig/interface/IOSystem.i
new file mode 100644
index 0000000..3e3e04a
--- /dev/null
+++ b/libs/assimp/port/swig/interface/IOSystem.i
@@ -0,0 +1,11 @@
+%{
+#include "IOSystem.h"
+%}
+
+// The const char* overload is used instead.
+%ignore Assimp::IOSystem::Exists(const std::string&) const;
+%ignore Assimp::IOSystem::Open(const std::string& pFile);
+%ignore Assimp::IOSystem::Open(const std::string& pFile, const std::string& pMode);
+%ignore Assimp::IOSystem::ComparePaths(const std::string& one, const std::string& second) const;
+
+%include "IOSystem.h"
diff --git a/libs/assimp/port/swig/interface/LogStream.i b/libs/assimp/port/swig/interface/LogStream.i
new file mode 100644
index 0000000..022f8e5
--- /dev/null
+++ b/libs/assimp/port/swig/interface/LogStream.i
@@ -0,0 +1,5 @@
+%{
+#include "LogStream.h"
+%}
+
+%include "LogStream.h"
diff --git a/libs/assimp/port/swig/interface/Logger.i b/libs/assimp/port/swig/interface/Logger.i
new file mode 100644
index 0000000..cadc50b
--- /dev/null
+++ b/libs/assimp/port/swig/interface/Logger.i
@@ -0,0 +1,5 @@
+%{
+#include "Logger.h"
+%}
+
+%include "Logger.h"
diff --git a/libs/assimp/port/swig/interface/NullLogger.i b/libs/assimp/port/swig/interface/NullLogger.i
new file mode 100644
index 0000000..5cf42ed
--- /dev/null
+++ b/libs/assimp/port/swig/interface/NullLogger.i
@@ -0,0 +1,5 @@
+%{
+#include "NullLogger.h"
+%}
+
+%include "NullLogger.h"
diff --git a/libs/assimp/port/swig/interface/aiAnim.i b/libs/assimp/port/swig/interface/aiAnim.i
new file mode 100644
index 0000000..de49700
--- /dev/null
+++ b/libs/assimp/port/swig/interface/aiAnim.i
@@ -0,0 +1,8 @@
+%{
+#include "aiAnim.h"
+%}
+
+ASSIMP_ARRAY(aiAnimation, aiNodeAnim*, mChannels, $self->mNumChannels);
+ASSIMP_ARRAY(aiAnimation, aiMeshAnim*, mMeshChannels, $self->mNumMeshChannels);
+
+%include "aiAnim.h"
diff --git a/libs/assimp/port/swig/interface/aiAssert.i b/libs/assimp/port/swig/interface/aiAssert.i
new file mode 100644
index 0000000..bc8a9b8
--- /dev/null
+++ b/libs/assimp/port/swig/interface/aiAssert.i
@@ -0,0 +1,5 @@
+%{
+#include "aiAssert.h"
+%}
+
+%include "aiAssert.h"
diff --git a/libs/assimp/port/swig/interface/aiCamera.i b/libs/assimp/port/swig/interface/aiCamera.i
new file mode 100644
index 0000000..5c21245
--- /dev/null
+++ b/libs/assimp/port/swig/interface/aiCamera.i
@@ -0,0 +1,5 @@
+%{
+#include "aiCamera.h"
+%}
+
+%include "aiCamera.h"
diff --git a/libs/assimp/port/swig/interface/aiColor4D.i b/libs/assimp/port/swig/interface/aiColor4D.i
new file mode 100644
index 0000000..3c00916
--- /dev/null
+++ b/libs/assimp/port/swig/interface/aiColor4D.i
@@ -0,0 +1,5 @@
+%{
+#include "aiColor4D.h"
+%}
+
+%include "aiColor4D.h"
diff --git a/libs/assimp/port/swig/interface/aiConfig.i b/libs/assimp/port/swig/interface/aiConfig.i
new file mode 100644
index 0000000..110abb3
--- /dev/null
+++ b/libs/assimp/port/swig/interface/aiConfig.i
@@ -0,0 +1,5 @@
+%{
+#include "aiConfig.h"
+%}
+
+%include "aiConfig.h"
diff --git a/libs/assimp/port/swig/interface/aiDefines.i b/libs/assimp/port/swig/interface/aiDefines.i
new file mode 100644
index 0000000..3a61ea6
--- /dev/null
+++ b/libs/assimp/port/swig/interface/aiDefines.i
@@ -0,0 +1,5 @@
+%{
+#include "aiDefines.h"
+%}
+
+%include "aiDefines.h"
diff --git a/libs/assimp/port/swig/interface/aiFileIO.i b/libs/assimp/port/swig/interface/aiFileIO.i
new file mode 100644
index 0000000..5a1e092
--- /dev/null
+++ b/libs/assimp/port/swig/interface/aiFileIO.i
@@ -0,0 +1,5 @@
+%{
+#include "aiFileIO.h"
+%}
+
+%include "aiFileIO.h"
diff --git a/libs/assimp/port/swig/interface/aiLight.i b/libs/assimp/port/swig/interface/aiLight.i
new file mode 100644
index 0000000..fbefde7
--- /dev/null
+++ b/libs/assimp/port/swig/interface/aiLight.i
@@ -0,0 +1,5 @@
+%{
+#include "aiLight.h"
+%}
+
+%include "aiLight.h"
diff --git a/libs/assimp/port/swig/interface/aiMaterial.i b/libs/assimp/port/swig/interface/aiMaterial.i
new file mode 100644
index 0000000..630e6b7
--- /dev/null
+++ b/libs/assimp/port/swig/interface/aiMaterial.i
@@ -0,0 +1,33 @@
+%{
+#include "aiMaterial.h"
+%}
+
+ASSIMP_ARRAY(aiMaterial, aiMaterialProperty*, mProperties, $self->mNumProperties)
+
+%include <typemaps.i>
+%apply enum SWIGTYPE *OUTPUT { aiTextureMapping* mapping };
+%apply unsigned int *OUTPUT { unsigned int* uvindex };
+%apply float *OUTPUT { float* blend };
+%apply enum SWIGTYPE *OUTPUT { aiTextureOp* op };
+%apply unsigned int *OUTPUT { unsigned int* flags };
+
+%include "aiMaterial.h"
+
+%clear unsigned int* flags;
+%clear aiTextureOp* op;
+%clear float *blend;
+%clear unsigned int* uvindex;
+%clear aiTextureMapping* mapping;
+
+
+%apply int &OUTPUT { int &pOut };
+%apply float &OUTPUT { float &pOut };
+
+%template(GetInteger) aiMaterial::Get<int>;
+%template(GetFloat) aiMaterial::Get<float>;
+%template(GetColor4D) aiMaterial::Get<aiColor4D>;
+%template(GetColor3D) aiMaterial::Get<aiColor3D>;
+%template(GetString) aiMaterial::Get<aiString>;
+
+%clear int &pOut;
+%clear float &pOut;
diff --git a/libs/assimp/port/swig/interface/aiMatrix3x3.i b/libs/assimp/port/swig/interface/aiMatrix3x3.i
new file mode 100644
index 0000000..8336d44
--- /dev/null
+++ b/libs/assimp/port/swig/interface/aiMatrix3x3.i
@@ -0,0 +1,5 @@
+%{
+#include "aiMatrix3x3.h"
+%}
+
+%include "aiMatrix3x3.h"
diff --git a/libs/assimp/port/swig/interface/aiMatrix4x4.i b/libs/assimp/port/swig/interface/aiMatrix4x4.i
new file mode 100644
index 0000000..976c56b
--- /dev/null
+++ b/libs/assimp/port/swig/interface/aiMatrix4x4.i
@@ -0,0 +1,5 @@
+%{
+#include "aiMatrix4x4.h"
+%}
+
+%include "aiMatrix4x4.h"
diff --git a/libs/assimp/port/swig/interface/aiMesh.i b/libs/assimp/port/swig/interface/aiMesh.i
new file mode 100644
index 0000000..141366c
--- /dev/null
+++ b/libs/assimp/port/swig/interface/aiMesh.i
@@ -0,0 +1,29 @@
+%{
+#include "aiMesh.h"
+%}
+
+
+ASSIMP_ARRAY(aiFace, unsigned int, mIndices, $self->mNumIndices);
+
+ASSIMP_POINTER_ARRAY(aiBone, aiVertexWeight, mWeights, $self->mNumWeights);
+
+ASSIMP_POINTER_ARRAY(aiAnimMesh, aiVector3D, mVertices, $self->mNumVertices);
+ASSIMP_POINTER_ARRAY(aiAnimMesh, aiVector3D, mNormals, $self->mNumVertices);
+ASSIMP_POINTER_ARRAY(aiAnimMesh, aiVector3D, mTangents, $self->mNumVertices);
+ASSIMP_POINTER_ARRAY(aiAnimMesh, aiVector3D, mBitangents, $self->mNumVertices);
+ASSIMP_POINTER_ARRAY_ARRAY(aiAnimMesh, aiVector3D, mTextureCoords, AI_MAX_NUMBER_OF_TEXTURECOORDS, $self->mNumVertices);
+ASSIMP_POINTER_ARRAY_ARRAY(aiAnimMesh, aiColor4D, mColors, AI_MAX_NUMBER_OF_COLOR_SETS, $self->mNumVertices);
+
+ASSIMP_ARRAY(aiMesh, aiAnimMesh*, mAnimMeshes, $self->mNumAnimMeshes);
+ASSIMP_ARRAY(aiMesh, aiBone*, mBones, $self->mNumBones);
+ASSIMP_ARRAY(aiMesh, unsigned int, mNumUVComponents, AI_MAX_NUMBER_OF_TEXTURECOORDS);
+ASSIMP_POINTER_ARRAY(aiMesh, aiVector3D, mVertices, $self->mNumVertices);
+ASSIMP_POINTER_ARRAY(aiMesh, aiVector3D, mNormals, $self->mNumVertices);
+ASSIMP_POINTER_ARRAY(aiMesh, aiVector3D, mTangents, $self->mNumVertices);
+ASSIMP_POINTER_ARRAY(aiMesh, aiVector3D, mBitangents, $self->mNumVertices);
+ASSIMP_POINTER_ARRAY(aiMesh, aiFace, mFaces, $self->mNumFaces);
+ASSIMP_POINTER_ARRAY_ARRAY(aiMesh, aiVector3D, mTextureCoords, AI_MAX_NUMBER_OF_TEXTURECOORDS, $self->mNumVertices);
+ASSIMP_POINTER_ARRAY_ARRAY(aiMesh, aiColor4D, mColors, AI_MAX_NUMBER_OF_COLOR_SETS, $self->mNumVertices);
+
+
+%include "aiMesh.h"
diff --git a/libs/assimp/port/swig/interface/aiPostProcess.i b/libs/assimp/port/swig/interface/aiPostProcess.i
new file mode 100644
index 0000000..5f64ec5
--- /dev/null
+++ b/libs/assimp/port/swig/interface/aiPostProcess.i
@@ -0,0 +1,7 @@
+%{
+#include "aiPostProcess.h"
+%}
+
+%feature("d:stripprefix", "aiProcess_") aiPostProcessSteps;
+
+%include "aiPostProcess.h"
diff --git a/libs/assimp/port/swig/interface/aiQuaternion.i b/libs/assimp/port/swig/interface/aiQuaternion.i
new file mode 100644
index 0000000..256057a
--- /dev/null
+++ b/libs/assimp/port/swig/interface/aiQuaternion.i
@@ -0,0 +1,5 @@
+%{
+#include "aiQuaternion.h"
+%}
+
+%include "aiQuaternion.h"
diff --git a/libs/assimp/port/swig/interface/aiScene.i b/libs/assimp/port/swig/interface/aiScene.i
new file mode 100644
index 0000000..7278f33
--- /dev/null
+++ b/libs/assimp/port/swig/interface/aiScene.i
@@ -0,0 +1,17 @@
+%{
+#include "aiScene.h"
+%}
+
+
+ASSIMP_ARRAY(aiScene, aiAnimation*, mAnimations, $self->mNumAnimations);
+ASSIMP_ARRAY(aiScene, aiCamera*, mCameras, $self->mNumCameras);
+ASSIMP_ARRAY(aiScene, aiLight*, mLights, $self->mNumLights);
+ASSIMP_ARRAY(aiScene, aiMaterial*, mMaterials, $self->mNumMaterials);
+ASSIMP_ARRAY(aiScene, aiMesh*, mMeshes, $self->mNumMeshes);
+ASSIMP_ARRAY(aiScene, aiTexture*, mTextures, $self->mNumTextures);
+
+ASSIMP_ARRAY(aiNode, aiNode*, mChildren, $self->mNumChildren);
+ASSIMP_ARRAY(aiNode, unsigned int, mMeshes, $self->mNumMeshes);
+
+
+%include "aiScene.h"
diff --git a/libs/assimp/port/swig/interface/aiTexture.i b/libs/assimp/port/swig/interface/aiTexture.i
new file mode 100644
index 0000000..d07d001
--- /dev/null
+++ b/libs/assimp/port/swig/interface/aiTexture.i
@@ -0,0 +1,5 @@
+%{
+#include "aiTexture.h"
+%}
+
+%include "aiTexture.h"
diff --git a/libs/assimp/port/swig/interface/aiTypes.i b/libs/assimp/port/swig/interface/aiTypes.i
new file mode 100644
index 0000000..a086dfd
--- /dev/null
+++ b/libs/assimp/port/swig/interface/aiTypes.i
@@ -0,0 +1,8 @@
+%{
+#include "aiTypes.h"
+%}
+
+// The const char* overload is used instead.
+%ignore aiString::Set(const std::string& pString);
+
+%include "aiTypes.h"
diff --git a/libs/assimp/port/swig/interface/aiVector2D.i b/libs/assimp/port/swig/interface/aiVector2D.i
new file mode 100644
index 0000000..5db15c0
--- /dev/null
+++ b/libs/assimp/port/swig/interface/aiVector2D.i
@@ -0,0 +1,5 @@
+%{
+#include "aiVector2D.h"
+%}
+
+%include "aiVector2D.h"
diff --git a/libs/assimp/port/swig/interface/aiVector3D.i b/libs/assimp/port/swig/interface/aiVector3D.i
new file mode 100644
index 0000000..2c83f60
--- /dev/null
+++ b/libs/assimp/port/swig/interface/aiVector3D.i
@@ -0,0 +1,5 @@
+%{
+#include "aiVector3D.h"
+%}
+
+%include "aiVector3D.h"
diff --git a/libs/assimp/port/swig/interface/aiVersion.i b/libs/assimp/port/swig/interface/aiVersion.i
new file mode 100644
index 0000000..9ddd532
--- /dev/null
+++ b/libs/assimp/port/swig/interface/aiVersion.i
@@ -0,0 +1,5 @@
+%{
+#include "aiVersion.h"
+%}
+
+%include "aiVersion.h"
diff --git a/libs/assimp/port/swig/interface/assimp.i b/libs/assimp/port/swig/interface/assimp.i
new file mode 100644
index 0000000..a1b1404
--- /dev/null
+++ b/libs/assimp/port/swig/interface/assimp.i
@@ -0,0 +1,45 @@
+%{
+#include "assimp.hpp"
+%}
+
+
+namespace Assimp {
+
+// See docs in assimp.hpp.
+%ignore Importer::ReadFile(const std::string& pFile, unsigned int pFlags);
+%ignore Importer::GetExtensionList(std::string& szOut);
+%ignore Importer::IsExtensionSupported(const std::string& szExtension);
+
+// These are only necessary for extending Assimp with custom importers or post
+// processing steps, which would require wrapping the internal BaseImporter and
+// BaseProcess classes.
+%ignore Importer::RegisterLoader(BaseImporter* pImp);
+%ignore Importer::UnregisterLoader(BaseImporter* pImp);
+%ignore Importer::RegisterPPStep(BaseProcess* pImp);
+%ignore Importer::UnregisterPPStep(BaseProcess* pImp);
+%ignore Importer::FindLoader(const char* szExtension);
+
+}
+
+
+// Each aiScene has to keep a reference to the Importer to prevent it from
+// being garbage collected, whose destructor would release the underlying
+// C++ memory the scene is stored in.
+%typemap(dcode) aiScene "package Object m_importer;"
+%typemap(dout)
+ aiScene* GetScene,
+ aiScene* ReadFile,
+ aiScene* ApplyPostProcessing,
+ aiScene* ReadFileFromMemory {
+ void* cPtr = $wcall;
+ $dclassname ret = (cPtr is null) ? null : new $dclassname(cPtr, $owner);$excode
+ ret.m_importer = this;
+ return ret;
+}
+
+%include <typemaps.i>
+%apply bool *OUTPUT { bool *bWasExisting };
+
+%include "assimp.hpp"
+
+%clear bool *bWasExisting;