bool ofxAssimpModelLoader::loadModel(ofBuffer & buffer, bool optimize, const char * extension){ ofLogVerbose("ofxAssimpModelLoader") << "loadModel(): loading from memory buffer \"." << extension << "\""; if(scene != NULL){ clear(); } // sets various properties & flags to a default preference unsigned int flags = initImportProperties(optimize); // loads scene from memory buffer - note this will not work for multipart files (obj, md3, etc) scene = shared_ptr<const aiScene>(aiImportFileFromMemoryWithProperties(buffer.getBinaryBuffer(), buffer.size(), flags, extension, store.get()), aiReleaseImport); bool bOk = processScene(); return bOk; }
bool ofxAssimpModelLoader::loadModel(ofBuffer & buffer, bool optimize, const char * extension){ ofLogVerbose("ofxAssimpModelLoader") << "loadModel(): loading from memory buffer \"." << extension << "\""; if(scene.get() != nullptr){ clear(); // we reset the shared_ptr explicitly here, to force the old // aiScene to be deleted **before** a new aiScene is created. scene.reset(); } // sets various properties & flags to a default preference unsigned int flags = initImportProperties(optimize); // loads scene from memory buffer - note this will not work for multipart files (obj, md3, etc) scene = shared_ptr<const aiScene>(aiImportFileFromMemoryWithProperties(buffer.getData(), buffer.size(), flags, extension, store.get()), aiReleaseImport); bool bOk = processScene(); return bOk; }