OGS
ElementCoordinatesMappingLocal.h
Go to the documentation of this file.
1
10#pragma once
11
12#include <Eigen/Core>
13#include <vector>
14
15#include "MathLib/Point3d.h"
16
17namespace MeshLib
18{
19 class Element;
20}
21
22namespace MeshLib
23{
24using RotationMatrix = Eigen::Matrix<double, 3u, 3u, Eigen::RowMajor>;
25
30{
31public:
37 ElementCoordinatesMappingLocal(const Element &e, const unsigned global_dim);
38
40 unsigned getGlobalDimension() const { return _global_dim; }
41
43 MathLib::Point3d const& getMappedCoordinates(std::size_t node_id) const
44 {
45 return _points[node_id];
46 }
47
50
51private:
52 const unsigned _global_dim;
53 std::vector<MathLib::Point3d> _points;
55};
56
57} // namespace MeshLib
Definition of the Point3d class.
const RotationMatrix & getRotationMatrixToGlobal() const
return a rotation matrix converting to global coordinates
MathLib::Point3d const & getMappedCoordinates(std::size_t node_id) const
return mapped coordinates of the node
unsigned getGlobalDimension() const
return the global dimension
ElementCoordinatesMappingLocal(const Element &e, const unsigned global_dim)
Eigen::Matrix< double, 3u, 3u, Eigen::RowMajor > RotationMatrix