OGS
RasterParameter.cpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2// SPDX-License-Identifier: BSD-3-Clause
3
4#include "RasterParameter.h"
5
7#include "BaseLib/Error.h"
8#include "BaseLib/Logging.h"
9
10namespace ParameterLib
11{
12std::unique_ptr<ParameterBase> createRasterParameter(
13 std::string const& name, BaseLib::ConfigTree const& config,
14 std::vector<GeoLib::NamedRaster> const& named_rasters)
15{
17 config.checkConfigParameter("type", "Raster");
18
19 auto const& named_raster = BaseLib::getIfOrError(
20 named_rasters,
21 [&name](auto const& named_raster)
22 { return name == named_raster.raster_name; },
23 "Could not find raster '" + name);
24
25 DBUG("Using the raster '{}' for the raster parameter.", name);
26
27 return std::make_unique<RasterParameter>(name, named_raster);
28}
29
30} // namespace ParameterLib
void DBUG(fmt::format_string< Args... > fmt, Args &&... args)
Definition Logging.h:22
void checkConfigParameter(std::string const &param, std::string_view const value) const
OGS_NO_DANGLING Container::value_type const & getIfOrError(Container const &container, Predicate &&predicate, std::string const &error_message)
Definition Algorithm.h:156
std::unique_ptr< ParameterBase > createRasterParameter(std::string const &name, BaseLib::ConfigTree const &config, std::vector< GeoLib::NamedRaster > const &named_rasters)