From 058f98a63658dc1a2579826ba167fd61bed1e21f Mon Sep 17 00:00:00 2001 From: sanine Date: Fri, 4 Mar 2022 10:47:15 -0600 Subject: add assimp submodule --- .../assimp-master/port/swig/interface/assimp.i | 45 ++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 src/mesh/assimp-master/port/swig/interface/assimp.i (limited to 'src/mesh/assimp-master/port/swig/interface/assimp.i') 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 +%apply bool *OUTPUT { bool *bWasExisting }; + +%include "assimp.hpp" + +%clear bool *bWasExisting; -- cgit v1.2.1