diff --git a/MathLib/Vector3.cpp b/MathLib/Vector3.cpp index a810a64a53bbde1d39d03bbd564b85e7bd0b43ac..b4a12364a2a68a01d9b58c23258fcb9074892cbf 100644 --- a/MathLib/Vector3.cpp +++ b/MathLib/Vector3.cpp @@ -15,8 +15,19 @@ namespace MathLib double scalarTriple(MathLib::Vector3 const& u, MathLib::Vector3 const& v, MathLib::Vector3 const& w) { - MathLib::Vector3 const cross(MathLib::crossProduct(u, v)); - return MathLib::scalarProduct(cross,w); + auto const pu = + Eigen::Map<Eigen::Vector3d>(const_cast<double*>(u.getCoords())); + auto const pv = + Eigen::Map<Eigen::Vector3d>(const_cast<double*>(v.getCoords())); + auto const pw = + Eigen::Map<Eigen::Vector3d>(const_cast<double*>(w.getCoords())); + 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); +//} + } // end namespace MathLib