Skip to content

Commit 065a1cc

Browse files
authored
Replace deprecated MemoryResource -> ResourceSharedPtr (#263)
1 parent 5090e3f commit 065a1cc

1 file changed

Lines changed: 20 additions & 0 deletions

File tree

src/mesh_operations.cpp

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,10 @@
4646
#include <resource_retriever/retriever.h>
4747
#endif
4848

49+
#if __has_include(<resource_retriever/resource.hpp>)
50+
#define NEW_RESOURCE_RETRIEVER
51+
#endif
52+
4953
#include <assimp/scene.h>
5054
#include <assimp/Importer.hpp>
5155
#include <assimp/postprocess.h>
@@ -267,24 +271,40 @@ Mesh* createMeshFromBinary(const char* buffer, std::size_t size, const Eigen::Ve
267271
Mesh* createMeshFromResource(const std::string& resource, const Eigen::Vector3d& scale)
268272
{
269273
resource_retriever::Retriever retriever;
274+
#ifdef NEW_RESOURCE_RETRIEVER
275+
resource_retriever::ResourceSharedPtr res;
276+
#else
270277
resource_retriever::MemoryResource res;
278+
#endif
271279
try
272280
{
281+
#ifdef NEW_RESOURCE_RETRIEVER
282+
res = retriever.get_shared(resource);
283+
#else
273284
res = retriever.get(resource);
285+
#endif
274286
}
275287
catch (resource_retriever::Exception& e)
276288
{
277289
CONSOLE_BRIDGE_logError("%s", e.what());
278290
return nullptr;
279291
}
280292

293+
#ifdef NEW_RESOURCE_RETRIEVER
294+
if (res->data.empty())
295+
#else
281296
if (res.size == 0)
297+
#endif
282298
{
283299
CONSOLE_BRIDGE_logWarn("Retrieved empty mesh for resource '%s'", resource.c_str());
284300
return nullptr;
285301
}
286302

303+
#ifdef NEW_RESOURCE_RETRIEVER
304+
Mesh* m = createMeshFromBinary(reinterpret_cast<const char*>(res->data.data()), res->data.size(), scale, resource);
305+
#else
287306
Mesh* m = createMeshFromBinary(reinterpret_cast<const char*>(res.data.get()), res.size, scale, resource);
307+
#endif
288308
if (!m)
289309
{
290310
CONSOLE_BRIDGE_logWarn("Assimp reports no scene in %s.", resource.c_str());

0 commit comments

Comments
 (0)