From 50f2e71516644ef5dd8f9940aecfc299274bf957 Mon Sep 17 00:00:00 2001 From: Thomas Fischer <thomas.fischer@ufz.de> Date: Tue, 26 Jan 2021 15:07:41 +0100 Subject: [PATCH] [MeL/MG/RasterToMesh] Move shifting origin in vtkImageData function. --- MeshLib/MeshGenerators/RasterToMesh.cpp | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/MeshLib/MeshGenerators/RasterToMesh.cpp b/MeshLib/MeshGenerators/RasterToMesh.cpp index f072bb82619..fe3d5e25305 100644 --- a/MeshLib/MeshGenerators/RasterToMesh.cpp +++ b/MeshLib/MeshGenerators/RasterToMesh.cpp @@ -72,7 +72,9 @@ MeshLib::Mesh* RasterToMesh::convert( return nullptr; } - MathLib::Point3d const orig(std::array<double, 3>{ {origin[0], origin[1], origin[2]}}); + MathLib::Point3d const orig( + std::array<double, 3>{{origin[0] - 0.5 * scalingFactor, + origin[1] - 0.5 * scalingFactor, origin[2]}}); GeoLib::RasterHeader const header = {static_cast<std::size_t>(dims[0]), static_cast<std::size_t>(dims[1]), static_cast<std::size_t>(dims[2]), @@ -139,9 +141,6 @@ MeshLib::Mesh* RasterToMesh::convert( return nullptr; } - MathLib::Point3d mesh_origin(std::array<double, 3>{ - {header.origin[0] - (header.cell_size / 2.0), - header.origin[1] - (header.cell_size / 2.0), header.origin[2]}}); std::unique_ptr<MeshLib::Mesh> mesh (nullptr); if (elem_type == MeshElemType::TRIANGLE) { @@ -149,7 +148,7 @@ MeshLib::Mesh* RasterToMesh::convert( MeshLib::MeshGenerator::generateRegularTriMesh(header.n_cols, header.n_rows, header.cell_size, - mesh_origin, + header.origin, "RasterDataMesh")); } else if (elem_type == MeshElemType::QUAD) @@ -158,7 +157,7 @@ MeshLib::Mesh* RasterToMesh::convert( MeshLib::MeshGenerator::generateRegularQuadMesh(header.n_cols, header.n_rows, header.cell_size, - mesh_origin, + header.origin, "RasterDataMesh")); } else if (elem_type == MeshElemType::PRISM) @@ -168,7 +167,7 @@ MeshLib::Mesh* RasterToMesh::convert( header.n_rows, header.n_depth, header.cell_size, - mesh_origin, + header.origin, "RasterDataMesh")); } else if (elem_type == MeshElemType::HEXAHEDRON) @@ -178,7 +177,7 @@ MeshLib::Mesh* RasterToMesh::convert( header.n_rows, header.n_depth, header.cell_size, - mesh_origin, + header.origin, "RasterDataMesh")); } -- GitLab