10#ifndef INCG1323b89d2f584608940fcb37657142cc
11#define INCG1323b89d2f584608940fcb37657142cc
12#include <lf/mesh/mesh.h>
57 decltype(std::declval<F>()(std::declval<Eigen::Vector2d>()));
63 static_assert(std::is_nothrow_move_constructible_v<F>,
64 "The functor F must be noexcept move constructible!");
78 const Eigen::MatrixXd& local)
const {
80 "mismatch between entity dimension and local.rows()");
81 std::vector<F_return_type> result;
82 result.reserve(local.cols());
84 for (
long i = 0; i < local.cols(); ++i) {
85 result.push_back(
f_(global_points.col(i)));
constexpr dim_t Dimension() const
Return the dimension of this reference element.
virtual Eigen::MatrixXd Global(const Eigen::MatrixXd &local) const =0
Map a number of points in local coordinates into the global coordinate system.
Interface class representing a topological entity in a cellular complex
virtual const geometry::Geometry * Geometry() const =0
Describes the geometry of this entity.
virtual base::RefEl RefEl() const =0
Describes the reference element type of this entity.
MeshFunction wrapper for a simple function of physical coordinates.
MeshFunctionGlobal(MeshFunctionGlobal &&) noexcept=default
MeshFunctionGlobal(const MeshFunctionGlobal &)=default
virtual ~MeshFunctionGlobal()=default
std::vector< F_return_type > operator()(const mesh::Entity &e, const Eigen::MatrixXd &local) const
MeshFunction compliant evaluation operator.
decltype(std::declval< F >()(std::declval< Eigen::Vector2d >())) F_return_type
Contains helper functions and classes that all operate on the interface classes defined in lf::mesh.