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
swmmpollutantpropertyadapter.h
Go to the documentation of this file.
1
14#ifndef SWMMPOLLUTANTPROPERTYADAPTER_H
15#define SWMMPOLLUTANTPROPERTYADAPTER_H
16
19
21{
22 Q_OBJECT
23
24public:
27 enum Units { MgPerL = 0, UgPerL = 1, CountPerL = 2 };
28 Q_ENUM(Units)
29
30private:
31 // Units are write-once at pollutant creation time (engine has no
32 // `swmm_pollutant_set_units`); exposed as read-only here so the
33 // Property Browser still surfaces the value.
35 READ units NOTIFY changed)
36 Q_PROPERTY(double rainConc READ rainConc WRITE setRainConc NOTIFY changed)
37 Q_PROPERTY(double gwConc READ gwConc WRITE setGwConc NOTIFY changed)
38 Q_PROPERTY(double initConc READ initConc WRITE setInitConc NOTIFY changed)
39 Q_PROPERTY(double rdiiConc READ rdiiConc WRITE setRdiiConc NOTIFY changed)
40 Q_PROPERTY(double kDecay READ kDecay WRITE setKDecay NOTIFY changed)
41 Q_PROPERTY(double mwt READ mwt WRITE setMwt NOTIFY changed)
42 Q_PROPERTY(bool snowOnly READ snowOnly WRITE setSnowOnly NOTIFY changed)
43 // Slice BM.0-Browse-Edit (2026-05-25) — typed as DataObjectRef
44 // (kind=Pollutant) so the cell hosts the picker editor.
47 Q_PROPERTY(double coPollutantFrac READ coPollutantFrac WRITE setCoPollutantFrac NOTIFY changed)
48
49public:
51
52 [[nodiscard]] Units units() const;
53 [[nodiscard]] double rainConc() const;
54 [[nodiscard]] double gwConc() const;
55 [[nodiscard]] double initConc() const;
56 [[nodiscard]] double rdiiConc() const;
57 [[nodiscard]] double kDecay() const;
58 [[nodiscard]] double mwt() const;
59 [[nodiscard]] bool snowOnly() const;
61 [[nodiscard]] QString coPollutant() const;
63 [[nodiscard]] DataObjectRef coPollutantRef() const;
64 [[nodiscard]] double coPollutantFrac() const;
65
66 Q_INVOKABLE QString displayLabelFor(const QString &property) const;
67
68public slots:
69 void setRainConc(double v);
70 void setGwConc(double v);
71 void setInitConc(double v);
72 void setRdiiConc(double v);
73 void setKDecay(double v);
74 void setMwt(double v);
75 void setSnowOnly(bool v);
76 void setCoPollutant(const QString &poll);
81 void setCoPollutantFrac(double v);
82
83private:
84 [[nodiscard]] int idx() const;
85};
86
87#endif // SWMMPOLLUTANTPROPERTYADAPTER_H
Common base for non-spatial Data Object property adapters.
Definition swmmdataobjectpropertyadapter.h:38
Definition swmmpollutantpropertyadapter.h:21
double kDecay
Definition swmmpollutantpropertyadapter.h:40
void setCoPollutantFrac(double v)
Definition swmmpollutantpropertyadapter.cpp:139
double mwt
Definition swmmpollutantpropertyadapter.h:41
double rdiiConc
Definition swmmpollutantpropertyadapter.h:39
double gwConc
Definition swmmpollutantpropertyadapter.h:37
bool snowOnly
Definition swmmpollutantpropertyadapter.h:42
DataObjectRef coPollutantRef() const
Definition swmmpollutantpropertyadapter.cpp:124
SWMMPollutantPropertyAdapter::Units units
Definition swmmpollutantpropertyadapter.h:35
void setCoPollutantRef(const DataObjectRef &ref)
Definition swmmpollutantpropertyadapter.cpp:134
double initConc
Definition swmmpollutantpropertyadapter.h:38
void setSnowOnly(bool v)
Definition swmmpollutantpropertyadapter.cpp:102
DataObjectRef coPollutant
Definition swmmpollutantpropertyadapter.h:46
Units
Definition swmmpollutantpropertyadapter.h:27
@ UgPerL
Definition swmmpollutantpropertyadapter.h:27
@ MgPerL
Definition swmmpollutantpropertyadapter.h:27
@ CountPerL
Definition swmmpollutantpropertyadapter.h:27
Q_INVOKABLE QString displayLabelFor(const QString &property) const
Definition swmmpollutantpropertyadapter.cpp:17
void setCoPollutant(const QString &poll)
Definition swmmpollutantpropertyadapter.cpp:110
double rainConc
Definition swmmpollutantpropertyadapter.h:36
double coPollutantFrac
Definition swmmpollutantpropertyadapter.h:47
EdgeRef ref
Definition pslgminsize.cpp:377
QVector< int > v
pool vertex indices
Definition pslgminsize.cpp:159
Definition dataobjectref.h:34