diff --git a/Applications/Utils/MeshEdit/Layers2Grid.cpp b/Applications/Utils/MeshEdit/Layers2Grid.cpp index e09eb4700984cbdec7f140f9b0aae5a6029894de..c78d345123b29d6df99a3a057101cd2ad9f4e7ed 100644 --- a/Applications/Utils/MeshEdit/Layers2Grid.cpp +++ b/Applications/Utils/MeshEdit/Layers2Grid.cpp @@ -45,34 +45,34 @@ void adjustExtent(std::pair<MathLib::Point3d, MathLib::Point3d>& extent, } // creates a voxel grid of the AABB of all layers -MeshLib::Mesh* generateInitialMesh( +std::unique_ptr<MeshLib::Mesh> generateInitialMesh( std::pair<MathLib::Point3d, MathLib::Point3d>& extent, std::array<double, 3> const& res) { INFO("Creating initial mesh..."); - std::array<double, 3> mesh_extent{{extent.second[0] - extent.first[0], + std::array<double, 3> mesh_range{{extent.second[0] - extent.first[0], extent.second[1] - extent.first[1], extent.second[2] - extent.first[2]}}; std::array<std::size_t, 3> const n_cells{ - {static_cast<std::size_t>(std::ceil(mesh_extent[0] / res[0])), - static_cast<std::size_t>(std::ceil(mesh_extent[1] / res[1])), - static_cast<std::size_t>(std::ceil(mesh_extent[2] / res[2]))}}; + {static_cast<std::size_t>(std::ceil(mesh_range[0] / res[0])), + static_cast<std::size_t>(std::ceil(mesh_range[1] / res[1])), + static_cast<std::size_t>(std::ceil(mesh_range[2] / res[2]))}}; for (std::size_t i = 0; i < 3; ++i) { double const ext_range = n_cells[i] * res[i]; - double const offset = (ext_range - mesh_extent[i]) / 2.0; - mesh_extent[i] = ext_range; + double const offset = (ext_range - mesh_range[i]) / 2.0; + mesh_range[i] = ext_range; extent.first[i] -= offset; extent.second[i] += offset; } - MeshLib::Mesh* mesh = MeshLib::MeshGenerator::generateRegularHexMesh( - mesh_extent[0], mesh_extent[1], mesh_extent[2], n_cells[0], n_cells[1], - n_cells[2], extent.first); + std::unique_ptr<MeshLib::Mesh> mesh( + MeshLib::MeshGenerator::generateRegularHexMesh( + mesh_range[0], mesh_range[1], mesh_range[2], n_cells[0], n_cells[1], + n_cells[2], extent.first)); auto mat_id = mesh->getProperties().createNewPropertyVector<int>( mat_name, MeshLib::MeshItemType::Cell); if (!mat_id) { - delete mesh; return nullptr; } mat_id->insert(mat_id->end(), mesh->getNumberOfElements(), -1);