preCICE
v3.2.0
Loading...
Searching...
No Matches
src
mesh
config
DataConfiguration.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <
string
>
4
#include <
vector
>
5
#include "
logging/Logger.hpp
"
6
#include "
mesh/Data.hpp
"
7
#include "
time/Time.hpp
"
8
#include "
utils/ManageUniqueIDs.hpp
"
9
#include "
xml/XMLTag.hpp
"
10
11
namespace
precice::mesh
{
12
14
class
DataConfiguration
:
public
xml::XMLTag::Listener
{
15
public
:
16
struct
ConfiguredData
{
17
std::string
name
;
18
Data::typeName
typeName
;
19
int
waveformDegree
;
20
21
ConfiguredData
(
22
const
std::string
&
name
,
23
const
Data::typeName
typeName
,
24
int
waveformDegree
)
25
:
name
(
name
),
typeName
(
typeName
),
waveformDegree
(
waveformDegree
) {}
26
};
27
28
DataConfiguration
(
xml::XMLTag
&parent);
29
30
const
std::vector<ConfiguredData>
&
data
()
const
;
31
32
ConfiguredData
getRecentlyConfiguredData
()
const
;
33
34
void
xmlTagCallback
(
35
const
xml::ConfigurationContext
&context,
36
xml::XMLTag
&callingTag)
override
;
37
38
void
xmlEndTagCallback
(
39
const
xml::ConfigurationContext
&context,
40
xml::XMLTag
&callingTag)
override
;
41
49
void
addData
(
const
std::string
&name,
50
const
Data::typeName
typeName,
51
int
waveformDegree =
time::Time::DEFAULT_WAVEFORM_DEGREE
);
52
53
private
:
54
mutable
logging::Logger
_log
{
"mesh::DataConfiguration"
};
55
56
const
std::string
TAG
=
"data"
;
57
const
std::string
ATTR_NAME
=
"name"
;
58
const
std::string
ATTR_DEGREE
=
"waveform-degree"
;
59
const
std::string
VALUE_VECTOR
=
"vector"
;
60
const
std::string
VALUE_SCALAR
=
"scalar"
;
61
62
std::vector<ConfiguredData>
_data
;
63
64
int
_indexLastConfigured
= -1;
65
};
66
67
}
// namespace precice::mesh
Data.hpp
Logger.hpp
ManageUniqueIDs.hpp
Time.hpp
XMLTag.hpp
std::string
precice::logging::Logger
This class provides a lightweight logger.
Definition
Logger.hpp:17
precice::mesh::DataConfiguration::ATTR_DEGREE
const std::string ATTR_DEGREE
Definition
DataConfiguration.hpp:58
precice::mesh::DataConfiguration::VALUE_SCALAR
const std::string VALUE_SCALAR
Definition
DataConfiguration.hpp:60
precice::mesh::DataConfiguration::_indexLastConfigured
int _indexLastConfigured
Definition
DataConfiguration.hpp:64
precice::mesh::DataConfiguration::addData
void addData(const std::string &name, const Data::typeName typeName, int waveformDegree=time::Time::DEFAULT_WAVEFORM_DEGREE)
Adds data manually.
Definition
DataConfiguration.cpp:79
precice::mesh::DataConfiguration::xmlTagCallback
void xmlTagCallback(const xml::ConfigurationContext &context, xml::XMLTag &callingTag) override
Callback at begin of XML tag.
Definition
DataConfiguration.cpp:48
precice::mesh::DataConfiguration::DataConfiguration
DataConfiguration(xml::XMLTag &parent)
Definition
DataConfiguration.cpp:10
precice::mesh::DataConfiguration::getRecentlyConfiguredData
ConfiguredData getRecentlyConfiguredData() const
Definition
DataConfiguration.cpp:40
precice::mesh::DataConfiguration::data
const std::vector< ConfiguredData > & data() const
Definition
DataConfiguration.cpp:35
precice::mesh::DataConfiguration::ATTR_NAME
const std::string ATTR_NAME
Definition
DataConfiguration.hpp:57
precice::mesh::DataConfiguration::TAG
const std::string TAG
Definition
DataConfiguration.hpp:56
precice::mesh::DataConfiguration::_data
std::vector< ConfiguredData > _data
Definition
DataConfiguration.hpp:62
precice::mesh::DataConfiguration::_log
logging::Logger _log
Definition
DataConfiguration.hpp:54
precice::mesh::DataConfiguration::xmlEndTagCallback
void xmlEndTagCallback(const xml::ConfigurationContext &context, xml::XMLTag &callingTag) override
Callback at end of XML tag and at end of subtag.
Definition
DataConfiguration.cpp:73
precice::mesh::DataConfiguration::VALUE_VECTOR
const std::string VALUE_VECTOR
Definition
DataConfiguration.hpp:59
precice::mesh::Data::typeName
typeName
Definition
Data.hpp:30
precice::time::Time::DEFAULT_WAVEFORM_DEGREE
static const int DEFAULT_WAVEFORM_DEGREE
To be used, when the interpolation degree is not defined.
Definition
Time.hpp:8
precice::xml::XMLTag
Represents an XML tag to be configured automatically.
Definition
XMLTag.hpp:28
precice::mesh
provides Mesh, Data and primitives.
Definition
ScaleActionTest.cpp:20
string
precice::mesh::DataConfiguration::ConfiguredData::name
std::string name
Definition
DataConfiguration.hpp:17
precice::mesh::DataConfiguration::ConfiguredData::ConfiguredData
ConfiguredData(const std::string &name, const Data::typeName typeName, int waveformDegree)
Definition
DataConfiguration.hpp:21
precice::mesh::DataConfiguration::ConfiguredData::waveformDegree
int waveformDegree
Definition
DataConfiguration.hpp:19
precice::mesh::DataConfiguration::ConfiguredData::typeName
Data::typeName typeName
Definition
DataConfiguration.hpp:18
precice::xml::ConfigurationContext
Tightly coupled to the parameters of Participant()
Definition
XMLTag.hpp:21
precice::xml::XMLTag::Listener
Callback interface for configuration classes using XMLTag.
Definition
XMLTag.hpp:46
vector