From fa3f56a108f0858df95055f805fd080482b6527c Mon Sep 17 00:00:00 2001 From: Thomas Fischer <thomas.fischer@ufz.de> Date: Tue, 8 Dec 2020 11:55:06 +0100 Subject: [PATCH] [MaL] Impl. of Eigen version of scalarTriple. --- MathLib/Vector3.cpp | 10 +++++----- MathLib/Vector3.h | 4 ++++ 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/MathLib/Vector3.cpp b/MathLib/Vector3.cpp index b4a12364a2a..040b473a9ab 100644 --- a/MathLib/Vector3.cpp +++ b/MathLib/Vector3.cpp @@ -24,10 +24,10 @@ double scalarTriple(MathLib::Vector3 const& u, MathLib::Vector3 const& v, return pu.cross(pv).dot(pw); } -//double scalarTriple(EigenLib::Vector3d const& u, EigenLib::Vector3d const& v, -// EigenLib::Vector3d const& w) -//{ -// return (u.cross(v).dot(w))(0,0); -//} +double scalarTriple(Eigen::Vector3d const& u, Eigen::Vector3d const& v, + Eigen::Vector3d const& w) +{ + return u.cross(v).dot(w); +} } // end namespace MathLib diff --git a/MathLib/Vector3.h b/MathLib/Vector3.h index 7d982e87209..d7b35db9a4a 100644 --- a/MathLib/Vector3.h +++ b/MathLib/Vector3.h @@ -16,6 +16,7 @@ #pragma once +#include <Eigen/Eigen> #include <cmath> #include "TemplatePoint.h" @@ -200,4 +201,7 @@ using Vector3 = TemplateVector3<double>; double scalarTriple(MathLib::Vector3 const& u, MathLib::Vector3 const& v, MathLib::Vector3 const& w); +/// Calculates the scalar triple (u x v) . w using Eigen functionality +double scalarTriple(Eigen::Vector3d const& u, Eigen::Vector3d const& v, + Eigen::Vector3d const& w); } // namespace MathLib -- GitLab