7#include <QStringListModel>
24 QStringList voxelGridList;
25 QStringList faultsList;
27 for (
int model_index = 0; model_index < mesh_model.
rowCount();
30 auto const* mesh = mesh_model.
getMesh(mesh_model.
index(model_index, 0));
35 voxelGridList.append(QString::fromStdString(mesh->getName()));
37 if (mesh->getDimension() == 2)
39 faultsList.append(QString::fromStdString(mesh->getName()));
42 if (voxelGridList.empty())
47 if (faultsList.empty())
49 faultsList.append(
"[No 2D faults available.]");
54 this->voxelGridListBox->addItems(
_voxelGrids.stringList());
72 if (this->voxelGridListBox->currentText() ==
no_voxel_str)
79 this->voxelGridListBox->currentText().toStdString());
80 assert(input_voxelgrid);
81 std::unique_ptr<MeshLib::Mesh> voxelgrid(
87 if (mat_ids ==
nullptr)
93 std::vector<std::string>
const selected_faults =
98 OGSError::box(
"Please specify the fault(s) to be added to the mesh.");
102 auto max_mat_id = std::max_element(mat_ids->cbegin(), mat_ids->cend());
104 auto fault_id = *max_mat_id;
105 for (
auto const& fault_name : selected_faults)
108 auto const* fault =
_mesh_model.getMesh(fault_name);
112 INFO(
"The fault '{}' was added.", fault_name);
115 OGSError::box(
"The fault " + QString::fromStdString(fault_name) +
116 " could not be added.");
120 this->done(QDialog::Accepted);
void INFO(fmt::format_string< Args... > fmt, Args &&... args)
QStringListModel _meshes2D
AddFaultsToVoxelGridDialog(MeshModel &mesh_model, QDialog *parent=nullptr)
void on_selectDataButton_pressed()
Instructions if the ">>-button" has been pressed.
QStringListModel _voxelGrids
QStringListModel _selFaults
void accept() override
Instructions if the OK-Button has been pressed.
void on_deselectDataButton_pressed()
Instructions if the "<<-button" has been pressed.
const MeshLib::Mesh * getMesh(const QModelIndex &idx) const
Returns the mesh with the given index.
static void box(const QString &e)
int rowCount(const QModelIndex &parent=QModelIndex()) const override
QModelIndex index(int row, int column, const QModelIndex &parent=QModelIndex()) const override
PropertyVector< int > const * materialIDs(Mesh const &mesh)
std::vector< std::string > getSelectedObjects(QStringList const &list)
void moveSelectedItems(QListView *sourceView, QStringListModel &sourceModel, QStringListModel &targetModel)