6#include <range/v3/algorithm/transform.hpp>
21 ERR(
"This functionality is currently only available for 2D meshes.");
28 double const replacement)
30 if (std::abs(value - no_data) < std::numeric_limits<double>::epsilon())
45 return getCenterOfGravity(element);
51template <
typename MeshItems>
54 double const default_replacement,
55 std::string
const& array_name,
57 MeshItems
const& mesh_items)
65 std::string
const name =
67 auto*
const values = props.createNewPropertyVector<
double>(
68 name, item_type, mesh_items.size(), 1);
69 if (values ==
nullptr)
74 OGS_FATAL(
"Could not create the property vector '{:s}'.", name);
78 ranges::transform(mesh_items, values->begin(),
82 raster.getValueAtPoint(evaluationPoint(*item)),
83 no_data, default_replacement);
89 double const default_replacement,
90 std::string
const& array_name)
97 double const default_replacement,
98 std::string
const& array_name)
void ERR(fmt::format_string< Args... > fmt, Args &&... args)
Class Raster is used for managing raster data.
RasterHeader const & getHeader() const
Returns the complete header information.
std::vector< Node * > const & getNodes() const
Get the nodes-vector for the mesh.
std::vector< Element * > const & getElements() const
Get the element-vector for the mesh.
unsigned getDimension() const
Properties & getProperties()
std::string getUniqueName(std::vector< std::string > const &existing_names, std::string const &input_name)
Append '-' and a number such that the name is unique.