diff options
author | sanine <sanine.not@pm.me> | 2022-03-04 10:47:15 -0600 |
---|---|---|
committer | sanine <sanine.not@pm.me> | 2022-03-04 10:47:15 -0600 |
commit | 058f98a63658dc1a2579826ba167fd61bed1e21f (patch) | |
tree | bcba07a1615a14d943f3af3f815a42f3be86b2f3 /src/mesh/assimp-master/port/swig/interface | |
parent | 2f8028ac9e0812cb6f3cbb08f0f419e4e717bd22 (diff) |
add assimp submodule
Diffstat (limited to 'src/mesh/assimp-master/port/swig/interface')
27 files changed, 253 insertions, 0 deletions
diff --git a/src/mesh/assimp-master/port/swig/interface/DefaultLogger.i b/src/mesh/assimp-master/port/swig/interface/DefaultLogger.i new file mode 100644 index 0000000..600d28e --- /dev/null +++ b/src/mesh/assimp-master/port/swig/interface/DefaultLogger.i @@ -0,0 +1,5 @@ +%{ +#include "DefaultLogger.h" +%} + +%include "DefaultLogger.h" diff --git a/src/mesh/assimp-master/port/swig/interface/IOStream.i b/src/mesh/assimp-master/port/swig/interface/IOStream.i new file mode 100644 index 0000000..baca5ef --- /dev/null +++ b/src/mesh/assimp-master/port/swig/interface/IOStream.i @@ -0,0 +1,5 @@ +%{ +#include "IOStream.h" +%} + +%include "IOStream.h" diff --git a/src/mesh/assimp-master/port/swig/interface/IOSystem.i b/src/mesh/assimp-master/port/swig/interface/IOSystem.i new file mode 100644 index 0000000..3e3e04a --- /dev/null +++ b/src/mesh/assimp-master/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/src/mesh/assimp-master/port/swig/interface/LogStream.i b/src/mesh/assimp-master/port/swig/interface/LogStream.i new file mode 100644 index 0000000..022f8e5 --- /dev/null +++ b/src/mesh/assimp-master/port/swig/interface/LogStream.i @@ -0,0 +1,5 @@ +%{ +#include "LogStream.h" +%} + +%include "LogStream.h" diff --git a/src/mesh/assimp-master/port/swig/interface/Logger.i b/src/mesh/assimp-master/port/swig/interface/Logger.i new file mode 100644 index 0000000..cadc50b --- /dev/null +++ b/src/mesh/assimp-master/port/swig/interface/Logger.i @@ -0,0 +1,5 @@ +%{ +#include "Logger.h" +%} + +%include "Logger.h" diff --git a/src/mesh/assimp-master/port/swig/interface/NullLogger.i b/src/mesh/assimp-master/port/swig/interface/NullLogger.i new file mode 100644 index 0000000..5cf42ed --- /dev/null +++ b/src/mesh/assimp-master/port/swig/interface/NullLogger.i @@ -0,0 +1,5 @@ +%{ +#include "NullLogger.h" +%} + +%include "NullLogger.h" diff --git a/src/mesh/assimp-master/port/swig/interface/aiAnim.i b/src/mesh/assimp-master/port/swig/interface/aiAnim.i new file mode 100644 index 0000000..de49700 --- /dev/null +++ b/src/mesh/assimp-master/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/src/mesh/assimp-master/port/swig/interface/aiAssert.i b/src/mesh/assimp-master/port/swig/interface/aiAssert.i new file mode 100644 index 0000000..bc8a9b8 --- /dev/null +++ b/src/mesh/assimp-master/port/swig/interface/aiAssert.i @@ -0,0 +1,5 @@ +%{ +#include "aiAssert.h" +%} + +%include "aiAssert.h" diff --git a/src/mesh/assimp-master/port/swig/interface/aiCamera.i b/src/mesh/assimp-master/port/swig/interface/aiCamera.i new file mode 100644 index 0000000..5c21245 --- /dev/null +++ b/src/mesh/assimp-master/port/swig/interface/aiCamera.i @@ -0,0 +1,5 @@ +%{ +#include "aiCamera.h" +%} + +%include "aiCamera.h" diff --git a/src/mesh/assimp-master/port/swig/interface/aiColor4D.i b/src/mesh/assimp-master/port/swig/interface/aiColor4D.i new file mode 100644 index 0000000..3c00916 --- /dev/null +++ b/src/mesh/assimp-master/port/swig/interface/aiColor4D.i @@ -0,0 +1,5 @@ +%{ +#include "aiColor4D.h" +%} + +%include "aiColor4D.h" diff --git a/src/mesh/assimp-master/port/swig/interface/aiConfig.i b/src/mesh/assimp-master/port/swig/interface/aiConfig.i new file mode 100644 index 0000000..110abb3 --- /dev/null +++ b/src/mesh/assimp-master/port/swig/interface/aiConfig.i @@ -0,0 +1,5 @@ +%{ +#include "aiConfig.h" +%} + +%include "aiConfig.h" diff --git a/src/mesh/assimp-master/port/swig/interface/aiDefines.i b/src/mesh/assimp-master/port/swig/interface/aiDefines.i new file mode 100644 index 0000000..3a61ea6 --- /dev/null +++ b/src/mesh/assimp-master/port/swig/interface/aiDefines.i @@ -0,0 +1,5 @@ +%{ +#include "aiDefines.h" +%} + +%include "aiDefines.h" diff --git a/src/mesh/assimp-master/port/swig/interface/aiFileIO.i b/src/mesh/assimp-master/port/swig/interface/aiFileIO.i new file mode 100644 index 0000000..5a1e092 --- /dev/null +++ b/src/mesh/assimp-master/port/swig/interface/aiFileIO.i @@ -0,0 +1,5 @@ +%{ +#include "aiFileIO.h" +%} + +%include "aiFileIO.h" diff --git a/src/mesh/assimp-master/port/swig/interface/aiLight.i b/src/mesh/assimp-master/port/swig/interface/aiLight.i new file mode 100644 index 0000000..fbefde7 --- /dev/null +++ b/src/mesh/assimp-master/port/swig/interface/aiLight.i @@ -0,0 +1,5 @@ +%{ +#include "aiLight.h" +%} + +%include "aiLight.h" diff --git a/src/mesh/assimp-master/port/swig/interface/aiMaterial.i b/src/mesh/assimp-master/port/swig/interface/aiMaterial.i new file mode 100644 index 0000000..630e6b7 --- /dev/null +++ b/src/mesh/assimp-master/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/src/mesh/assimp-master/port/swig/interface/aiMatrix3x3.i b/src/mesh/assimp-master/port/swig/interface/aiMatrix3x3.i new file mode 100644 index 0000000..8336d44 --- /dev/null +++ b/src/mesh/assimp-master/port/swig/interface/aiMatrix3x3.i @@ -0,0 +1,5 @@ +%{ +#include "aiMatrix3x3.h" +%} + +%include "aiMatrix3x3.h" diff --git a/src/mesh/assimp-master/port/swig/interface/aiMatrix4x4.i b/src/mesh/assimp-master/port/swig/interface/aiMatrix4x4.i new file mode 100644 index 0000000..976c56b --- /dev/null +++ b/src/mesh/assimp-master/port/swig/interface/aiMatrix4x4.i @@ -0,0 +1,5 @@ +%{ +#include "aiMatrix4x4.h" +%} + +%include "aiMatrix4x4.h" diff --git a/src/mesh/assimp-master/port/swig/interface/aiMesh.i b/src/mesh/assimp-master/port/swig/interface/aiMesh.i new file mode 100644 index 0000000..141366c --- /dev/null +++ b/src/mesh/assimp-master/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/src/mesh/assimp-master/port/swig/interface/aiPostProcess.i b/src/mesh/assimp-master/port/swig/interface/aiPostProcess.i new file mode 100644 index 0000000..5f64ec5 --- /dev/null +++ b/src/mesh/assimp-master/port/swig/interface/aiPostProcess.i @@ -0,0 +1,7 @@ +%{ +#include "aiPostProcess.h" +%} + +%feature("d:stripprefix", "aiProcess_") aiPostProcessSteps; + +%include "aiPostProcess.h" diff --git a/src/mesh/assimp-master/port/swig/interface/aiQuaternion.i b/src/mesh/assimp-master/port/swig/interface/aiQuaternion.i new file mode 100644 index 0000000..256057a --- /dev/null +++ b/src/mesh/assimp-master/port/swig/interface/aiQuaternion.i @@ -0,0 +1,5 @@ +%{ +#include "aiQuaternion.h" +%} + +%include "aiQuaternion.h" diff --git a/src/mesh/assimp-master/port/swig/interface/aiScene.i b/src/mesh/assimp-master/port/swig/interface/aiScene.i new file mode 100644 index 0000000..7278f33 --- /dev/null +++ b/src/mesh/assimp-master/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/src/mesh/assimp-master/port/swig/interface/aiTexture.i b/src/mesh/assimp-master/port/swig/interface/aiTexture.i new file mode 100644 index 0000000..d07d001 --- /dev/null +++ b/src/mesh/assimp-master/port/swig/interface/aiTexture.i @@ -0,0 +1,5 @@ +%{ +#include "aiTexture.h" +%} + +%include "aiTexture.h" diff --git a/src/mesh/assimp-master/port/swig/interface/aiTypes.i b/src/mesh/assimp-master/port/swig/interface/aiTypes.i new file mode 100644 index 0000000..a086dfd --- /dev/null +++ b/src/mesh/assimp-master/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/src/mesh/assimp-master/port/swig/interface/aiVector2D.i b/src/mesh/assimp-master/port/swig/interface/aiVector2D.i new file mode 100644 index 0000000..5db15c0 --- /dev/null +++ b/src/mesh/assimp-master/port/swig/interface/aiVector2D.i @@ -0,0 +1,5 @@ +%{ +#include "aiVector2D.h" +%} + +%include "aiVector2D.h" diff --git a/src/mesh/assimp-master/port/swig/interface/aiVector3D.i b/src/mesh/assimp-master/port/swig/interface/aiVector3D.i new file mode 100644 index 0000000..2c83f60 --- /dev/null +++ b/src/mesh/assimp-master/port/swig/interface/aiVector3D.i @@ -0,0 +1,5 @@ +%{ +#include "aiVector3D.h" +%} + +%include "aiVector3D.h" diff --git a/src/mesh/assimp-master/port/swig/interface/aiVersion.i b/src/mesh/assimp-master/port/swig/interface/aiVersion.i new file mode 100644 index 0000000..9ddd532 --- /dev/null +++ b/src/mesh/assimp-master/port/swig/interface/aiVersion.i @@ -0,0 +1,5 @@ +%{ +#include "aiVersion.h" +%} + +%include "aiVersion.h" diff --git a/src/mesh/assimp-master/port/swig/interface/assimp.i b/src/mesh/assimp-master/port/swig/interface/assimp.i new file mode 100644 index 0000000..a1b1404 --- /dev/null +++ b/src/mesh/assimp-master/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; |