OGS
ProcessModel.h
Go to the documentation of this file.
1 
15 #pragma once
16 
18 #include "Base/TreeModel.h"
19 
20 class FEMCondition;
21 class ProcessVarItem;
22 class CondObjectListItem;
23 class vtkPolyDataAlgorithm;
24 
25 namespace GeoLib
26 {
27 struct GeoObject;
28 }
29 
35 class ProcessModel final : public TreeModel
36 {
37  Q_OBJECT
38 
39 public:
40  explicit ProcessModel(DataHolderLib::Project& project,
41  QObject* parent = nullptr);
42 
43  int columnCount(const QModelIndex& parent = QModelIndex()) const override;
44 
47  // vtkPolyDataAlgorithm* vtkSource(const FiniteElement::ProcessType
48  // pcs_type, const FEMCondition::CondType cond_type);
49 
50 public slots:
53  std::vector<std::unique_ptr<DataHolderLib::BoundaryCondition>> const&
54  conditions);
55 
57  void addSourceTerms(
58  std::vector<std::unique_ptr<DataHolderLib::SourceTerm>> const&
59  conditions);
60 
63 
65  ProcessVarItem* addProcessVar(QString const& name);
66 
68  void removeCondition(QString const& process_var, QString const& param);
69 
71  void removeProcessVariable(QString const& name);
72 
74  void clearModel();
75 
77  void updateModel();
78 
79 private:
83 
84  ProcessVarItem* getProcessVarItem(QString const& process_var_name) const;
85 
87  void removeCondition(ProcessVarItem* process_var,
88  QString const& param_name);
89 
91 
92 signals:
93 };
Definition of the TreeModel class.
Base class for boundary conditions, initial conditions and source terms.
Definition: FemCondition.h:40
A model implementing a tree structure for process-relevant information such as process types,...
Definition: ProcessModel.h:36
void addBoundaryConditions(std::vector< std::unique_ptr< DataHolderLib::BoundaryCondition >> const &conditions)
Adds vector of Boundary Conditions to the model.
void removeProcessVariable(QString const &name)
Removes a process variable incl all associated conditions from the model.
void addSourceTerms(std::vector< std::unique_ptr< DataHolderLib::SourceTerm >> const &conditions)
Adds vector of Source Terms to 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 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
Definition: ProcessModel.h:90
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.
A TreeItem representing process variable information.
A hierarchical model for a tree implemented as a double-linked list.
Definition: TreeModel.h:30
QModelIndex parent(const QModelIndex &index) const override
Definition: TreeModel.cpp:81