SWMMVis  6.0.0-alpha.4
Qt6/C++ GIS-based graphical user interface for the SWMMVis engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
pollutantprovider.h
Go to the documentation of this file.
1
20#ifndef OPENSWMMVIS_POLLUTANT_POLLUTANTPROVIDER_H
21#define OPENSWMMVIS_POLLUTANT_POLLUTANTPROVIDER_H
22
23#include <QObject>
24#include <QString>
25
27
28class PollutantProvider : public QObject
29{
30 Q_OBJECT
31
32public:
33 explicit PollutantProvider(QString name, QObject *parent = nullptr);
35
36 // ── Identity ────────────────────────────────────────────────────────────
37 QString name() const noexcept { return m_name; }
38
39 // ── Scalar properties ───────────────────────────────────────────────────
40 int units() const noexcept { return m_units; }
41 double rainConc() const noexcept { return m_rainConc; }
42 double gwConc() const noexcept { return m_gwConc; }
43 double initConc() const noexcept { return m_initConc; }
44 double rdiiConc() const noexcept { return m_rdiiConc; }
45 double kDecay() const noexcept { return m_kDecay; }
46 double mwt() const noexcept { return m_mwt; }
47 bool snowOnly() const noexcept { return m_snowOnly; }
48 QString coPollutant() const noexcept { return m_coPollutant; }
49 double coFraction() const noexcept { return m_coFraction; }
50
51 // ── Mutators (emit changed signals) ─────────────────────────────────────
52 void setName(QString newName);
53 void setUnits(int v);
54 void setRainConc(double v);
55 void setGwConc(double v);
56 void setInitConc(double v);
57 void setRdiiConc(double v);
58 void setKDecay(double v);
59 void setMwt(double v);
60 void setSnowOnly(bool v);
61 void setCoPollutant(QString name);
62 void setCoFraction(double v);
63
64signals:
65 void nameChanged(QString prev, QString now);
67
68private:
69 QString m_name;
70
71 int m_units = 0;
72 double m_rainConc = 0.0;
73 double m_gwConc = 0.0;
74 double m_initConc = 0.0;
75 double m_rdiiConc = 0.0;
76 double m_kDecay = 0.0;
77 double m_mwt = 0.0;
78 bool m_snowOnly = false;
79 QString m_coPollutant;
80 double m_coFraction = 0.0;
81};
82
83} // namespace openswmmvis::pollutant
84
85#endif // OPENSWMMVIS_POLLUTANT_POLLUTANTPROVIDER_H
Definition pollutantprovider.h:29
void setCoFraction(double v)
Definition pollutantprovider.cpp:89
int units() const noexcept
0=MG/L,1=UG/L,2=#/L
Definition pollutantprovider.h:40
double coFraction() const noexcept
Definition pollutantprovider.h:49
QString name() const noexcept
Definition pollutantprovider.h:37
void setInitConc(double v)
Definition pollutantprovider.cpp:47
double rainConc() const noexcept
Definition pollutantprovider.h:41
void setKDecay(double v)
Definition pollutantprovider.cpp:61
void setName(QString newName)
Definition pollutantprovider.cpp:18
void setRdiiConc(double v)
Definition pollutantprovider.cpp:54
void setCoPollutant(QString name)
Definition pollutantprovider.cpp:82
void setGwConc(double v)
Definition pollutantprovider.cpp:40
void setMwt(double v)
Definition pollutantprovider.cpp:68
double kDecay() const noexcept
1/day
Definition pollutantprovider.h:45
void setUnits(int v)
Definition pollutantprovider.cpp:26
double gwConc() const noexcept
Definition pollutantprovider.h:42
void setRainConc(double v)
Definition pollutantprovider.cpp:33
bool snowOnly() const noexcept
Definition pollutantprovider.h:47
void nameChanged(QString prev, QString now)
double mwt() const noexcept
molecular weight
Definition pollutantprovider.h:46
double initConc() const noexcept
Definition pollutantprovider.h:43
QString coPollutant() const noexcept
empty = none
Definition pollutantprovider.h:48
double rdiiConc() const noexcept
Definition pollutantprovider.h:44
void setSnowOnly(bool v)
Definition pollutantprovider.cpp:75
Definition pollutantprovider.h:26
QVector< int > v
pool vertex indices
Definition pslgminsize.cpp:159
QVector< int > parent
union-find
Definition pslgminsize.cpp:176