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
streetprovider.h
Go to the documentation of this file.
1
21#ifndef OPENSWMMVIS_STREET_STREETPROVIDER_H
22#define OPENSWMMVIS_STREET_STREETPROVIDER_H
23
24#include <QObject>
25#include <QString>
26
28
29class StreetProvider : public QObject
30{
31 Q_OBJECT
32
33public:
34 explicit StreetProvider(QString name, QObject *parent = nullptr);
35 ~StreetProvider() override;
36
37 // ── Identity ────────────────────────────────────────────────────────────
38
39 QString name() const noexcept { return m_name; }
40
41 // ── Geometry (legacy TStreet field order) ───────────────────────────────
42
43 double crownWidth() const noexcept { return m_crownWidth; }
44 double curbHeight() const noexcept { return m_curbHeight; }
45 double crossSlope() const noexcept { return m_crossSlope; }
46 double roadRoughness() const noexcept { return m_roadRoughness; }
47 double gutterDepression() const noexcept { return m_gutterDepression; }
48 double gutterWidth() const noexcept { return m_gutterWidth; }
49 int sides() const noexcept { return m_sides; }
50 double backingWidth() const noexcept { return m_backingWidth; }
51 double backingSlope() const noexcept { return m_backingSlope; }
52 double backingRoughness() const noexcept { return m_backingRoughness; }
53
54 // ── Mutators (emit changed signals) ─────────────────────────────────────
55
56 void setName(QString newName);
57
58 void setCrownWidth(double v);
59 void setCurbHeight(double v);
60 void setCrossSlope(double v);
61 void setRoadRoughness(double v);
62 void setGutterDepression(double v);
63 void setGutterWidth(double v);
64 void setSides(int v);
65 void setBackingWidth(double v);
66 void setBackingSlope(double v);
67 void setBackingRoughness(double v);
68
69signals:
70 void nameChanged(QString prev, QString now);
73
74private:
75 QString m_name;
76
77 double m_crownWidth = 30.0;
78 double m_curbHeight = 0.5;
79 double m_crossSlope = 2.0;
80 double m_roadRoughness = 0.016;
81 double m_gutterDepression = 0.0;
82 double m_gutterWidth = 0.0;
83 int m_sides = 2;
84 double m_backingWidth = 0.0;
85 double m_backingSlope = 0.0;
86 double m_backingRoughness = 0.0;
87};
88
89} // namespace openswmmvis::street
90
91#endif // OPENSWMMVIS_STREET_STREETPROVIDER_H
Definition streetprovider.h:30
void nameChanged(QString prev, QString now)
void setBackingRoughness(double v)
Definition streetprovider.cpp:91
int sides() const noexcept
1 or 2
Definition streetprovider.h:49
double crownWidth() const noexcept
Tcrown.
Definition streetprovider.h:43
void setGutterWidth(double v)
Definition streetprovider.cpp:63
double backingWidth() const noexcept
Tback.
Definition streetprovider.h:50
double backingSlope() const noexcept
Sback (%)
Definition streetprovider.h:51
QString name() const noexcept
Definition streetprovider.h:39
void setGutterDepression(double v)
Definition streetprovider.cpp:56
double gutterWidth() const noexcept
W.
Definition streetprovider.h:48
double gutterDepression() const noexcept
a
Definition streetprovider.h:47
void paramsChanged()
Any geometry field changed (list label / preview repaint).
double backingRoughness() const noexcept
nBack
Definition streetprovider.h:52
void setBackingWidth(double v)
Definition streetprovider.cpp:77
double roadRoughness() const noexcept
nRoad
Definition streetprovider.h:46
void setName(QString newName)
Definition streetprovider.cpp:20
double curbHeight() const noexcept
Hcurb.
Definition streetprovider.h:44
void setRoadRoughness(double v)
Definition streetprovider.cpp:49
double crossSlope() const noexcept
Sx (%)
Definition streetprovider.h:45
void setSides(int v)
Definition streetprovider.cpp:70
void setCurbHeight(double v)
Definition streetprovider.cpp:35
void setCrownWidth(double v)
Definition streetprovider.cpp:28
void setBackingSlope(double v)
Definition streetprovider.cpp:84
void setCrossSlope(double v)
Definition streetprovider.cpp:42
Definition streetprovider.h:27
QVector< int > v
pool vertex indices
Definition pslgminsize.cpp:159
QVector< int > parent
union-find
Definition pslgminsize.cpp:176