22 const QStringList expectedRoughnessPars =
23 QStringList() << QString::fromStdString(
"Sigma") << QString::fromStdString(
"Hurst")
24 << QString::fromStdString(
"CorrelationLength");
30 : m_gui_model_type{
std::move(gui_model_type)}, m_domain_name{
std::move(domain_name)}
44 QStringList result = list;
51 : m_gui_name{
std::move(gui_name)}, m_additional_name{
std::move(additional_name)}
65 QStringList result = list;
72 if (list.back() !=
"Rotation")
76 QStringList result = list;
83 if (list.back() !=
"DistributionNone")
104 if (!list.back().contains(
"Layer") || !expectedRoughnessPars.contains(list.front()))
107 QStringList result = list;
109 QString layerName = result.takeLast();
111 QString postfix =
numberOfLayers() == 2 ? QString() : QString::number(layerIndex - 1);
113 result.push_back(QString::fromStdString(
"LayerInterface") + postfix);
121 layerName.remove(
"Layer");
123 int layerIndex = layerName.toInt(&ok);
125 throw GUIHelpers::Error(
"RoughnessTranslator::getLayerIndex() -> Error. Can't parse.");
136 QStringList additional_names)
137 : m_gui_name{
std::move(gui_name)}
139 , m_additional_names{
std::move(additional_names)}
166 GUIHelpers::Error(
"VectorParameterTranslator::translate() -> Unexpected list structure");
#define ASSERT(condition)
Defines class GUIHelpers functions.
Defines class MesoCrystalItem.
Defines interface IParameterTranslator and subclasses.
Defines class ParticleItem.
Defines class VectorItem.
AddElementTranslator * clone() const override
AddElementTranslator(QString gui_name, QString additional_name)
QString m_additional_name
QStringList translate(const QStringList &list) const override
QStringList translate(const QStringList &list) const override
static std::string XComponentName(const std::string &base_name)
static std::string ZComponentName(const std::string &base_name)
static std::string YComponentName(const std::string &base_name)
virtual ~IPathTranslator()
ModelTypeTranslator * clone() const override
QStringList translate(const QStringList &list) const override
ModelTypeTranslator(QString gui_model_type, QString domain_name)
QStringList translate(const QStringList &list) const override
RoughnessTranslator * clone() const override
int numberOfLayers() const
const SessionItem * m_parent
QStringList translate(const QStringList &list) const override
int getLayerIndex(QString layerName) const
Extract layer index from the string "Layer11".
RoughnessTranslator(const SessionItem *p_parent)
Converts "/Layer1/LayerBasicRoughness/Sigma" into "/LayerInterface0/LayerBasicRoughness/Sigma".
QVector< SessionItem * > getChildrenOfType(const QString &model_type) const
Returns a vector of all children of the given type.
VectorParameterTranslator * clone() const override
QStringList translate(const QStringList &list) const override
VectorParameterTranslator(QString gui_name, std::string base_name, QStringList additional_names={})
QStringList m_additional_names
MVVM_MODEL_EXPORT std::string base_name(const std::string &path)
Provide the filename of a file path.