Revision 2edb15cc6849c7f3a3e41304f8ed3485a6266652 authored by Lars Bilke on 21 December 2022, 13:52:55 UTC, committed by Lars Bilke on 21 December 2022, 15:20:48 UTC
1 parent ac3ac7b
FunctionParameter.cpp
/**
* \file
* \copyright
* Copyright (c) 2012-2022, OpenGeoSys Community (http://www.opengeosys.org)
* Distributed under a Modified BSD License.
* See accompanying file LICENSE.txt or
* http://www.opengeosys.org/project/license
*
*/
#include "FunctionParameter.h"
#include "BaseLib/ConfigTree.h"
namespace ParameterLib
{
std::unique_ptr<ParameterBase> createFunctionParameter(
std::string const& name, BaseLib::ConfigTree const& config,
std::map<std::string,
std::unique_ptr<MathLib::PiecewiseLinearInterpolation>> const&
curves)
{
//! \ogs_file_param{prj__parameters__parameter__type}
config.checkConfigParameter("type", "Function");
std::vector<std::string> vec_expressions;
//! \ogs_file_param{prj__parameters__parameter__Function__expression}
for (auto const& p : config.getConfigSubtreeList("expression"))
{
std::string const expression_str = p.getValue<std::string>();
vec_expressions.emplace_back(expression_str);
}
return std::make_unique<FunctionParameter<double>>(name, vec_expressions,
curves);
}
} // namespace ParameterLib
Computing file changes ...