From a19f6d050a02fdbade4e92ba5751ec41317d9630 Mon Sep 17 00:00:00 2001 From: Thomas Fischer <thomas.fischer@ufz.de> Date: Thu, 24 Dec 2020 14:10:06 +0100 Subject: [PATCH] [MeL/MG] Subst. MaL::Vector3 by Eigen::Vector3d. --- MeshLib/MeshGenerators/LayeredVolume.cpp | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/MeshLib/MeshGenerators/LayeredVolume.cpp b/MeshLib/MeshGenerators/LayeredVolume.cpp index 01b4c77e42b..7370178db6f 100644 --- a/MeshLib/MeshGenerators/LayeredVolume.cpp +++ b/MeshLib/MeshGenerators/LayeredVolume.cpp @@ -14,8 +14,6 @@ #include "LayeredVolume.h" -#include "MathLib/Vector3.h" - #include "GeoLib/Raster.h" #include "MeshLib/Elements/Tri.h" @@ -147,15 +145,25 @@ void LayeredVolume::addLayerBoundaries(const MeshLib::Mesh &layer, std::size_t n MeshLib::Node* n2 = _nodes[offset + nNodes + elem->getNodeIndex((i+1)%nElemNodes)]; MeshLib::Node* n3 = _nodes[offset + nNodes + elem->getNodeIndex(i)]; - if (MathLib::Vector3(*n1, *n2).getLength() > std::numeric_limits<double>::epsilon()) + auto const v0 = + Eigen::Map<Eigen::Vector3d const>(n0->getCoords()); + auto const v1 = + Eigen::Map<Eigen::Vector3d const>(n1->getCoords()); + auto const v2 = + Eigen::Map<Eigen::Vector3d const>(n2->getCoords()); + auto const v3 = + Eigen::Map<Eigen::Vector3d const>(n3->getCoords()); + double const eps = std::numeric_limits<double>::epsilon(); + + if ((v2 - v1).norm() > eps) { - const std::array<MeshLib::Node*,3> tri_nodes = {{ n0, n2, n1 }}; + const std::array tri_nodes = {n0, n2, n1}; _elements.push_back(new MeshLib::Tri(tri_nodes)); _materials.push_back(nLayers+j); } - if (MathLib::Vector3(*n0, *n3).getLength() > std::numeric_limits<double>::epsilon()) + if ((v3 - v0).norm() > eps) { - const std::array<MeshLib::Node*,3> tri_nodes = {{ n0, n3, n2 }}; + const std::array tri_nodes = {n0, n3, n2}; _elements.push_back(new MeshLib::Tri(tri_nodes)); _materials.push_back(nLayers+j); } -- GitLab