OGS
CreateComponent.h
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#pragma once
5
6#include <map>
7#include <memory>
8#include <optional>
9
10#include "Component.h"
11
12namespace BaseLib
13{
14class ConfigTree;
15}
16namespace ParameterLib
17{
18struct ParameterBase;
19struct CoordinateSystem;
20} // namespace ParameterLib
21
22namespace MathLib
23{
25}
26
27namespace MaterialPropertyLib
28{
37std::vector<std::unique_ptr<Component>> createComponents(
38 int const geometry_dimension,
39 std::optional<BaseLib::ConfigTree> const& config,
40 std::vector<std::unique_ptr<ParameterLib::ParameterBase>>& parameters,
41 ParameterLib::CoordinateSystem const* const local_coordinate_system,
42 std::map<std::string,
43 std::unique_ptr<MathLib::PiecewiseLinearInterpolation>> const&
44 curves);
45
46} // 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 > > &parameters, ParameterLib::CoordinateSystem const *const local_coordinate_system, std::map< std::string, std::unique_ptr< MathLib::PiecewiseLinearInterpolation > > const &curves)
A local coordinate system used for tensor transformations.