OGS
CreateComponent.h
Go to the documentation of this file.
1 
13 #pragma once
14 
15 #include <map>
16 #include <memory>
17 #include <optional>
18 
19 #include "Component.h"
20 
21 namespace BaseLib
22 {
23 class ConfigTree;
24 }
25 namespace ParameterLib
26 {
27 struct ParameterBase;
28 struct CoordinateSystem;
29 }
30 
31 namespace MathLib
32 {
33 class PiecewiseLinearInterpolation;
34 }
35 
36 namespace MaterialPropertyLib
37 {
46 std::vector<std::unique_ptr<Component>> createComponents(
47  int const geometry_dimension,
48  std::optional<BaseLib::ConfigTree> const& config,
49  std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters,
50  ParameterLib::CoordinateSystem const* const local_coordinate_system,
51  std::map<std::string,
52  std::unique_ptr<MathLib::PiecewiseLinearInterpolation>> const&
53  curves);
54 
55 } // namespace MaterialPropertyLib
std::vector< std::unique_ptr< Component > > createComponents(int const geometry_dimension, std::optional< BaseLib::ConfigTree > const &config, std::vector< std::unique_ptr< ParameterLib::ParameterBase >> const &parameters, ParameterLib::CoordinateSystem const *const local_coordinate_system, std::map< std::string, std::unique_ptr< MathLib::PiecewiseLinearInterpolation >> const &curves)