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