diff --git a/MeshLib/Elements/TemplateQuad-impl.h b/MeshLib/Elements/TemplateQuad-impl.h index afd624856b42bf684cc3ca4911314694970c72c8..fff572636170247c3932311c97c6387247f765fb 100644 --- a/MeshLib/Elements/TemplateQuad-impl.h +++ b/MeshLib/Elements/TemplateQuad-impl.h @@ -90,8 +90,8 @@ TemplateQuad<NNODES,CELLQUADTYPE>::~TemplateQuad() template <unsigned NNODES, CellType CELLQUADTYPE> double TemplateQuad<NNODES,CELLQUADTYPE>::computeVolume() { - return MathLib::calcTriangleArea(_nodes[0]->getCoords(), _nodes[1]->getCoords(), _nodes[2]->getCoords()) - + MathLib::calcTriangleArea(_nodes[2]->getCoords(), _nodes[3]->getCoords(), _nodes[0]->getCoords()); + return GeoLib::calcTriangleArea(*_nodes[0], *_nodes[1], *_nodes[2]) + + GeoLib::calcTriangleArea(*_nodes[2], *_nodes[3], *_nodes[0]); } template <unsigned NNODES, CellType CELLQUADTYPE> diff --git a/MeshLib/Elements/TemplateTri.h b/MeshLib/Elements/TemplateTri.h index a0c05f27d38dd4ccb0cf4a630e3eb3d951b56cb4..c91290193e21420ee7fa232d2bc5aab822f78fa7 100644 --- a/MeshLib/Elements/TemplateTri.h +++ b/MeshLib/Elements/TemplateTri.h @@ -22,6 +22,7 @@ #include "MeshEnums.h" #include "MathTools.h" +#include "AnalyticalGeometry.h" namespace MeshLib { @@ -121,7 +122,7 @@ protected: /// Calculates the area of the triangle by returning half of the area of the corresponding parallelogram. double computeVolume() { - return MathLib::calcTriangleArea(_nodes[0]->getCoords(), _nodes[1]->getCoords(), _nodes[2]->getCoords()); + return GeoLib::calcTriangleArea(*_nodes[0], *_nodes[1], *_nodes[2]); } protected: diff --git a/NumLib/Function/LinearInterpolationOnSurface.cpp b/NumLib/Function/LinearInterpolationOnSurface.cpp index d71716a7b856ac5400e1ea1ccacd5f5b105e328d..18aa67f09ae1f3a19cf025b85722bd54756d1429 100644 --- a/NumLib/Function/LinearInterpolationOnSurface.cpp +++ b/NumLib/Function/LinearInterpolationOnSurface.cpp @@ -70,10 +70,10 @@ double LinearInterpolationOnSurface::interpolateInTri(const GeoLib::Triangle &tr std::vector<GeoLib::Point*> p_pnts = {{&pnts[0], &pnts[1], &pnts[2]}}; GeoLib::rotatePointsToXY(p_pnts); - const double* v1 = pnts[0].getCoords(); - const double* v2 = pnts[1].getCoords(); - const double* v3 = pnts[2].getCoords(); - const double area = MathLib::calcTriangleArea(v1, v2, v3); + GeoLib::Point const& v1(pnts[0]); + GeoLib::Point const& v2(pnts[1]); + GeoLib::Point const& v3(pnts[2]); + const double area = GeoLib::calcTriangleArea(v1, v2, v3); if (area==.0) { // take average if all points have the same coordinates