OGS
CreatePiecewiseLinearCurve.h
Go to the documentation of this file.
1
13
#pragma once
14
15
#include <memory>
16
#include <vector>
17
18
namespace
BaseLib
19
{
20
class
ConfigTree;
21
}
22
23
namespace
MathLib
24
{
25
struct
PiecewiseLinearCurveConfig
26
{
27
std::vector<double>
xs
;
28
std::vector<double>
ys
;
29
};
30
31
PiecewiseLinearCurveConfig
parsePiecewiseLinearCurveConfig
(
32
BaseLib::ConfigTree
const
& config);
33
36
template
<
typename
CurveType>
37
std::unique_ptr<CurveType>
createPiecewiseLinearCurve
(
38
BaseLib::ConfigTree
const
& config)
39
{
40
auto
[xs, ys] =
parsePiecewiseLinearCurveConfig
(config);
41
return
std::make_unique<CurveType>(std::move(xs), std::move(ys));
42
}
43
};
// namespace MathLib
BaseLib::ConfigTree
Definition
ConfigTree.h:107
BaseLib
Definition
TestDefinition.h:21
MathLib
Definition
CreateComponent.h:32
MathLib::parsePiecewiseLinearCurveConfig
PiecewiseLinearCurveConfig parsePiecewiseLinearCurveConfig(BaseLib::ConfigTree const &config)
Definition
CreatePiecewiseLinearCurve.cpp:21
MathLib::createPiecewiseLinearCurve
std::unique_ptr< CurveType > createPiecewiseLinearCurve(BaseLib::ConfigTree const &config)
Definition
CreatePiecewiseLinearCurve.h:37
MathLib::PiecewiseLinearCurveConfig
Definition
CreatePiecewiseLinearCurve.h:26
MathLib::PiecewiseLinearCurveConfig::xs
std::vector< double > xs
Definition
CreatePiecewiseLinearCurve.h:27
MathLib::PiecewiseLinearCurveConfig::ys
std::vector< double > ys
Definition
CreatePiecewiseLinearCurve.h:28
MathLib
Curve
CreatePiecewiseLinearCurve.h
Generated by
1.10.0