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
simoptionscontext.h
Go to the documentation of this file.
1
14#ifndef SIMOPTIONSCONTEXT_H
15#define SIMOPTIONSCONTEXT_H
16
17#include <QString>
18#include <QStringList>
19
20#include <openswmm/engine/openswmm_engine.h>
21
23
24class SWMMModelLayer;
26
27namespace openswmmvis::ui
28{
29
31{
32public:
35
36 [[nodiscard]] SWMM_Engine engine() const { return engine_; }
37 [[nodiscard]] SWMMModelLayer *modelLayer() const { return layer_; }
38 [[nodiscard]] SWMMVisProjectWindow *projectWindow() const { return pw_; }
39 [[nodiscard]] const EngineCapabilities &caps() const { return caps_; }
40
45 [[nodiscard]] QString option(const char *key, const QString &fallback = {}) const;
46
58 int writeIfChanged(const char *key, const QString &newVal);
59
68 void recordWrittenKey(const char *key);
69
70 void beginWritePass();
71 [[nodiscard]] QStringList writtenKeys() const { return written_; }
72
73private:
74 SWMM_Engine engine_ = nullptr;
75 SWMMModelLayer *layer_ = nullptr;
76 SWMMVisProjectWindow *pw_ = nullptr;
78 QStringList written_;
79};
80
81} // namespace openswmmvis::ui
82
83#endif // SIMOPTIONSCONTEXT_H
Renders the SWMM network elements (nodes, links, subcatchments, rain gages) for one OpenSWMMEngine mo...
Definition swmmmodellayer.h:133
MDI sub-window owning a MapCanvas, SWMMModelLayer, and map tools.
Definition swmmvisprojectwindow.h:58
Definition simoptionscontext.h:31
SWMMVisProjectWindow * projectWindow() const
Definition simoptionscontext.h:38
void beginWritePass()
Clears writtenKeys().
Definition simoptionscontext.cpp:58
SWMM_Engine engine() const
Definition simoptionscontext.h:36
QString option(const char *key, const QString &fallback={}) const
swmm_options_get, trimmed; fallback when the engine has no value or there is no engine.
Definition simoptionscontext.cpp:22
QStringList writtenKeys() const
Definition simoptionscontext.h:71
const EngineCapabilities & caps() const
Definition simoptionscontext.h:39
SWMMModelLayer * modelLayer() const
Definition simoptionscontext.h:37
int writeIfChanged(const char *key, const QString &newVal)
Write newVal to key only if it differs numerically.
Definition simoptionscontext.cpp:31
void recordWrittenKey(const char *key)
Record key as considered by this write pass without writing.
Definition simoptionscontext.cpp:53
int e
Definition inpmeshreader.cpp:41
const char * key
Definition meshcellparams.cpp:24
Definition openswmmvislayer.h:43
void * SWMM_Engine
Definition objectdefaultsapplier.h:19
What this engine build accepts, probed once.
Definition enginecapabilities.h:37