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
mesh2dresultvariable.h
Go to the documentation of this file.
1
10#ifndef OPENSWMMVIS_IO_MESH2DRESULTVARIABLE_H
11#define OPENSWMMVIS_IO_MESH2DRESULTVARIABLE_H
12
13#include <QString>
14#include <QUrl>
15#include <cstdint>
16
17namespace openswmmvis::io
18{
19
20// File/source-local semantic identity. The owning results layer supplies the
21// run/source identity; species indexes are deliberately never persisted here.
23 enum class Domain { Surface, Groundwater };
24 enum class Zone { None, Saturated, Unsaturated, Sigma };
26
27 QString dataset;
28 QString species;
29 QString label;
30 QString units; // empty when the file does not establish the actual units
34 int layer = -1; // explicit sigma-layer coordinate, not a species row
35 int frameCount = 0; // 0 for time-independent static/envelope variables
36 bool unitsKnown = false;
37
43 QString key() const
44 {
45 if (dataset.isEmpty())
46 return {};
47 QString result = (domain == Domain::Groundwater ? QStringLiteral("groundwater:")
48 : QStringLiteral("surface:")) +
49 QString::fromLatin1(QUrl::toPercentEncoding(dataset));
50 if (!species.isEmpty())
51 result +=
52 QStringLiteral(":species:") + QString::fromLatin1(QUrl::toPercentEncoding(species));
53 if (layer >= 0)
54 result += QStringLiteral(":layer:") + QString::number(layer);
55 return result;
56 }
57};
58
59// Keep a physical zero distinct from unavailable output and waterless zones.
60// Raw waterless/not-applicable values are retained; Missing values become NaN.
61enum class Mesh2DValueStatus : std::uint8_t { Valid, Missing, Waterless, NotApplicable };
62
63} // namespace openswmmvis::io
64#endif
Definition gdaldrivers.h:29
Mesh2DValueStatus
Definition mesh2dresultvariable.h:61
Definition mesh2dresultvariable.h:22
bool unitsKnown
Definition mesh2dresultvariable.h:36
QString dataset
Definition mesh2dresultvariable.h:27
int layer
Definition mesh2dresultvariable.h:34
QString key() const
Encode the source-local dataset, optional species, and optional layer identity.
Definition mesh2dresultvariable.h:43
QString species
Definition mesh2dresultvariable.h:28
Temporal temporal
Definition mesh2dresultvariable.h:33
Temporal
Definition mesh2dresultvariable.h:25
Domain
Definition mesh2dresultvariable.h:23
int frameCount
Definition mesh2dresultvariable.h:35
QString units
Definition mesh2dresultvariable.h:30
Zone zone
Definition mesh2dresultvariable.h:32
QString label
Definition mesh2dresultvariable.h:29
Domain domain
Definition mesh2dresultvariable.h:31
Zone
Definition mesh2dresultvariable.h:24