From 51f02dc738a3264ad8b2b00c0b541a1908ca8a63 Mon Sep 17 00:00:00 2001 From: Malin Ejdbo Date: Mon, 8 Feb 2021 13:32:38 +0100 Subject: [PATCH] Small fix and update ghoul --- ext/ghoul | 2 +- modules/base/rendering/renderablemodel.cpp | 12 ++++++------ .../rendering/renderablemodelprojection.cpp | 15 +++++++++------ 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/ext/ghoul b/ext/ghoul index 3a1d641261..6560b217b3 160000 --- a/ext/ghoul +++ b/ext/ghoul @@ -1 +1 @@ -Subproject commit 3a1d641261273c104090779772a95c605f7cd8a0 +Subproject commit 6560b217b358e1d299c04f35c533b8737f907786 diff --git a/modules/base/rendering/renderablemodel.cpp b/modules/base/rendering/renderablemodel.cpp index 8ddb99f7b9..c8035d3e4a 100644 --- a/modules/base/rendering/renderablemodel.cpp +++ b/modules/base/rendering/renderablemodel.cpp @@ -311,16 +311,16 @@ RenderableModel::RenderableModel(const ghoul::Dictionary& dictionary) // Combine all models into one ModelGeometry for (unsigned int i = 1; i < geometries.size(); ++i) { - for (const ghoul::io::ModelMesh& mesh : geometries[i]->meshes()) { + for (unsigned int m = 0; m < geometries[i]->meshes().size(); ++m) { combinedGeometry.meshes().push_back( - std::move(mesh) + std::move(geometries[i]->meshes()[m]) ); } - for (const ghoul::modelgeometry::ModelGeometry::TextureEntry& texture - : geometries[i]->textureStorage()) - { - combinedGeometry.textureStorage().push_back(std::move(texture)); + for (unsigned int t = 0; t < geometries[i]->textureStorage().size(); ++t) { + combinedGeometry.textureStorage().push_back( + std::move(geometries[i]->textureStorage()[t]) + ); } } _geometry = std::make_unique( diff --git a/modules/spacecraftinstruments/rendering/renderablemodelprojection.cpp b/modules/spacecraftinstruments/rendering/renderablemodelprojection.cpp index de6edcccf4..e762310cde 100644 --- a/modules/spacecraftinstruments/rendering/renderablemodelprojection.cpp +++ b/modules/spacecraftinstruments/rendering/renderablemodelprojection.cpp @@ -154,20 +154,23 @@ RenderableModelProjection::RenderableModelProjection(const ghoul::Dictionary& di )); } - if (geometries.size() > 0) { + if (!geometries.empty()) { ghoul::modelgeometry::ModelGeometry combinedGeometry = std::move(*geometries[0].release()); // Combine all models into one ModelGeometry for (unsigned int i = 1; i < geometries.size(); ++i) { - for (const ghoul::io::ModelMesh& mesh : geometries[i]->meshes()) { - combinedGeometry.meshes().push_back(std::move(mesh)); + for (unsigned int m = 0; m < geometries[i]->meshes().size(); ++m) { + combinedGeometry.meshes().push_back( + std::move(geometries[i]->meshes()[m]) + ); } - for (const ghoul::modelgeometry::ModelGeometry::TextureEntry& texture - : geometries[i]->textureStorage()) + for (unsigned int t = 0; t < geometries[i]->textureStorage().size(); ++t) { - combinedGeometry.textureStorage().push_back(std::move(texture)); + combinedGeometry.textureStorage().push_back( + std::move(geometries[i]->textureStorage()[t]) + ); } } _geometry = std::make_unique(