OGS
ProcessModel.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
7#include "Base/TreeModel.h"
8
9class FEMCondition;
10class ProcessVarItem;
11class CondObjectListItem;
12class vtkPolyDataAlgorithm;
13
14namespace GeoLib
15{
16struct GeoObject;
17}
18
24class ProcessModel final : public TreeModel
25{
26 Q_OBJECT
27
28public:
29 explicit ProcessModel(DataHolderLib::Project& project,
30 QObject* parent = nullptr);
31
32 int columnCount(const QModelIndex& parent = QModelIndex()) const override;
33
36 // vtkPolyDataAlgorithm* vtkSource(const FiniteElement::ProcessType
37 // pcs_type, const FEMCondition::CondType cond_type);
38
39public slots:
42 std::vector<std::unique_ptr<DataHolderLib::BoundaryCondition>> const&
43 conditions);
44
46 void addSourceTerms(
47 std::vector<std::unique_ptr<DataHolderLib::SourceTerm>> const&
48 conditions);
49
52
54 ProcessVarItem* addProcessVar(QString const& name);
55
57 void removeCondition(QString const& process_var, QString const& param);
58
60 void removeProcessVariable(QString const& name);
61
63 void clearModel();
64
66 void updateModel();
67
68private:
72
73 ProcessVarItem* getProcessVarItem(QString const& process_var_name) const;
74
76 void removeCondition(ProcessVarItem* process_var,
77 QString const& param_name);
78
80
81signals:
82};
Base class for boundary conditions, initial conditions and source terms.
void removeProcessVariable(QString const &name)
Removes a process variable incl all associated conditions from the model.
int columnCount(const QModelIndex &parent=QModelIndex()) const override
void updateModel()
Updates the model based on the ProjectData-object.
ProcessVarItem * addProcessVar(QString const &name)
Adds a process to the model.
void addBoundaryConditions(std::vector< std::unique_ptr< DataHolderLib::BoundaryCondition > > const &conditions)
Adds vector of Boundary Conditions to the model.
void clearModel()
Removes the complete content from the model.
void addCondition(DataHolderLib::FemCondition *condition)
Adds a single FEM Conditions to the model.
ProcessVarItem * getProcessVarItem(QString const &process_var_name) const
ProcessModel(DataHolderLib::Project &project, QObject *parent=nullptr)
DataHolderLib::Project & _project
void addConditionItem(DataHolderLib::FemCondition *cond, ProcessVarItem *parent)
Adds a new FEM condition to the condition tree model.
void removeCondition(QString const &process_var, QString const &param)
Removes FEMConditions from the the model.
void addSourceTerms(std::vector< std::unique_ptr< DataHolderLib::SourceTerm > > const &conditions)
Adds vector of Source Terms to the model.
A TreeItem representing process variable information.
QModelIndex parent(const QModelIndex &index) const override
Definition TreeModel.cpp:70
TreeModel(QObject *parent=nullptr)
Definition TreeModel.cpp:15