23#ifndef RAININTERVALREF_H
24#define RAININTERVALREF_H
30#include <openswmm/engine/openswmm_callbacks.h>
69 return {QStringLiteral(
"0:01"), QStringLiteral(
"0:05"),
70 QStringLiteral(
"0:10"), QStringLiteral(
"0:15"),
71 QStringLiteral(
"0:20"), QStringLiteral(
"0:30"),
72 QStringLiteral(
"1:00"), QStringLiteral(
"6:00"),
73 QStringLiteral(
"12:00"), QStringLiteral(
"24:00")};
80 if (secs < 0) secs = 0;
81 const int h = secs / 3600;
82 const int m = (secs % 3600) / 60;
83 const int s = secs % 60;
85 return QStringLiteral(
"%1:%2").arg(
h).arg(
m, 2, 10, QLatin1Char(
'0'));
86 return QStringLiteral(
"%1:%2:%3")
88 .arg(
m, 2, 10, QLatin1Char(
'0'))
89 .arg(
s, 2, 10, QLatin1Char(
'0'));
98 const QString
t =
text.trimmed();
99 if (
t.isEmpty())
return -1;
101 if (!
t.contains(QLatin1Char(
':'))) {
103 const double hours =
t.toDouble(&
ok);
104 if (!
ok || hours < 0.0)
return -1;
105 return static_cast<int>(hours * 3600.0 + 0.5);
108 const QStringList parts =
t.split(QLatin1Char(
':'));
109 if (parts.size() < 2 || parts.size() > 3)
return -1;
110 int field[3] = {0, 0, 0};
111 for (
int i = 0;
i < parts.size(); ++
i) {
113 const int v = parts[
i].toInt(&
ok);
114 if (!
ok ||
v < 0)
return -1;
117 return field[0] * 3600 + field[1] * 60 + field[2];
Renders the SWMM network elements (nodes, links, subcatchments, rain gages) for one OpenSWMMEngine mo...
Definition swmmmodellayer.h:133
size_t i
Definition contourjob.cpp:27
DiagramType t
Definition diagramspec.cpp:20
double s
Scene px per model length unit.
Definition inletdrawingview.cpp:82
bool ok
Definition inpmeshwriter.cpp:575
MaskMode m
Definition maskspec.cpp:18
int h
Definition mesh2dresultsexport.cpp:387
Definition rainintervalref.h:63
QStringList presetsHMM()
Definition rainintervalref.h:67
QString secondsToHMM(int secs)
Definition rainintervalref.h:78
int hmmToSeconds(const QString &text)
Definition rainintervalref.h:96
void * SWMM_Engine
Definition objectdefaultsapplier.h:19
QVector< int > v
pool vertex indices
Definition pslgminsize.cpp:159
QString text
Definition queryparser.cpp:35
void registerRainIntervalRefConverter()
Definition rainintervalref.cpp:10
Definition rainintervalref.h:36
bool operator==(const RainIntervalRef &other) const noexcept
Definition rainintervalref.h:45
int seconds
Recording interval in seconds.
Definition rainintervalref.h:39
QString gageName
Owning gage id.
Definition rainintervalref.h:38
SWMM_Engine engine
Engine handle (borrow, not owned)
Definition rainintervalref.h:37
SWMMModelLayer * layer
Definition rainintervalref.h:43