------------------------------------------------------------------------------------------------
| 335 | |
| 336 | // ------------------------------------------------------------------------------------------------ |
| 337 | const aiExportDataBlob* Exporter::ExportToBlob( const aiScene* pScene, const char* pFormatId, |
| 338 | unsigned int pPreprocessing, const ExportProperties* pProperties) { |
| 339 | ai_assert(nullptr != pimpl); |
| 340 | if (pimpl->blob) { |
| 341 | delete pimpl->blob; |
| 342 | pimpl->blob = nullptr; |
| 343 | } |
| 344 | |
| 345 | auto baseName = pProperties ? pProperties->GetPropertyString(AI_CONFIG_EXPORT_BLOB_NAME, AI_BLOBIO_MAGIC) : AI_BLOBIO_MAGIC; |
| 346 | |
| 347 | std::shared_ptr<IOSystem> old = pimpl->mIOSystem; |
| 348 | BlobIOSystem *blobio = new BlobIOSystem(baseName); |
| 349 | pimpl->mIOSystem = std::shared_ptr<IOSystem>( blobio ); |
| 350 | |
| 351 | if (AI_SUCCESS != Export(pScene,pFormatId,blobio->GetMagicFileName(), pPreprocessing, pProperties)) { |
| 352 | pimpl->mIOSystem = old; |
| 353 | return nullptr; |
| 354 | } |
| 355 | |
| 356 | pimpl->blob = blobio->GetBlobChain(); |
| 357 | pimpl->mIOSystem = old; |
| 358 | |
| 359 | return pimpl->blob; |
| 360 | } |
| 361 | |
| 362 | // ------------------------------------------------------------------------------------------------ |
| 363 | aiReturn Exporter::Export( const aiScene* pScene, const char* pFormatId, const char* pPath, |
no test coverage detected