19 std::vector<MathLib::Point3d>& points)
21 std::transform(points.begin(), points.end(), points.begin(),
22 [&matR2local](
auto const& pnt) { return matR2local * pnt; });
29 const unsigned element_dimension,
30 const unsigned global_dim,
31 const std::vector<MathLib::Point3d>& points)
36 if (element_dimension == 1)
38 Eigen::Vector3d
const xx =
39 (points[1].asEigenVector3d() - points[0].asEigenVector3d())
49 matR.transposeInPlace();
51 else if (global_dim == 3 && element_dimension == 2)
58 matR.transposeInPlace();
67 const Element& e,
const unsigned global_dim)
80 if (element_dim != space_dim)
std::vector< MathLib::Point3d > _points
RotationMatrix _matR2global
const unsigned _global_dim
ElementCoordinatesMappingLocal(const Element &e, const unsigned global_dim)
virtual unsigned getNumberOfNodes() const =0
virtual const Node * getNode(unsigned idx) const =0
virtual constexpr unsigned getDimension() const =0
Get dimension of the mesh element.
unsigned space_dimension_
Dimension of the space, where the element exists.
Eigen::Matrix3d compute3DRotationMatrixToX(Eigen::Vector3d const &v)
Eigen::Matrix3d computeRotationMatrixToXY(Eigen::Vector3d const &n)
std::pair< Eigen::Vector3d, double > getNewellPlane(InputIterator pnts_begin, InputIterator pnts_end)
Eigen::Matrix3d compute2DRotationMatrixToX(Eigen::Vector3d const &v)
Eigen::Matrix< double, 3u, 3u, Eigen::RowMajor > RotationMatrix
void rotateToLocal(const MeshLib::RotationMatrix &matR2local, std::vector< MathLib::Point3d > &points)
rotate points to local coordinates
MeshLib::RotationMatrix getRotationMatrixToGlobal(const unsigned element_dimension, const unsigned global_dim, const std::vector< MathLib::Point3d > &points)