37#ifndef OPENSWMM_RENDER_SYMBOLSTYLEADAPTER_H
38#define OPENSWMM_RENDER_SYMBOLSTYLEADAPTER_H
51class IFeatureRenderer;
112 [[nodiscard]] qreal
opacity() const;
126 [[nodiscard]]
Rule *
rule()
const {
return m_rule; }
135 void onRendererReplaced();
139 template <
typename T>
140 [[nodiscard]] T readProp(
const QString &
key,
const T &fallback)
const;
144 template <
typename T>
145 bool writeProp(
const QString &
key,
const T &value);
147 Rule *m_rule =
nullptr;
188 Q_CLASSINFO("group:
opacity", "Symbology")
202 [[nodiscard]] qreal
opacity() const;
222 [[nodiscard]]
Rule *
rule()
const {
return m_rule; }
228 void onRendererReplaced();
231 Rule *m_rule =
nullptr;
259 Q_CLASSINFO("group:
opacity", "Symbology")
263 Q_CLASSINFO("group:
offsetPx", "Line")
267 Q_CLASSINFO("group:
showArrows", "Flow arrows")
268 Q_CLASSINFO("group:
arrowSize", "Flow arrows")
269 Q_CLASSINFO("group:
arrowWidth", "Flow arrows")
270 Q_CLASSINFO("group:
arrowColor", "Flow arrows")
277 [[nodiscard]] qreal
opacity() const;
281 [[nodiscard]] qreal
offsetPx() const;
305 [[nodiscard]]
Rule *
rule()
const {
return m_rule; }
311 void onRendererReplaced();
314 Rule *m_rule =
nullptr;
350 Q_CLASSINFO("group:
opacity", "Symbology")
351 Q_CLASSINFO("group:
attribute", "Classification")
355 Q_CLASSINFO("group:
lowColor", "Ramp")
366 [[nodiscard]] qreal
minValue() const;
367 [[nodiscard]] qreal
maxValue() const;
368 [[nodiscard]] QColor
lowColor() const;
384 [[nodiscard]]
Rule *
rule()
const {
return m_rule; }
390 void onRendererReplaced();
393 Rule *m_rule =
nullptr;
409 Q_CLASSINFO("group:
opacity", "Symbology")
428 [[nodiscard]]
Rule *
rule()
const {
return m_rule; }
434 void onRendererReplaced();
437 Rule *m_rule =
nullptr;
457 Q_CLASSINFO("group:
opacity", "Symbology")
458 Q_CLASSINFO("group:
attribute", "Classification")
459 Q_CLASSINFO("group:
bandCount", "Classification")
460 Q_CLASSINFO("group:
lowColor", "Ramp")
473 [[nodiscard]] QColor
lowColor() const;
488 [[nodiscard]]
Rule *
rule()
const {
return m_rule; }
494 void onRendererReplaced();
497 Rule *m_rule =
nullptr;
516 Q_CLASSINFO("group:
opacity", "Symbology")
517 Q_CLASSINFO("group:
attribute", "Classification")
519 Q_CLASSINFO("group:
color", "Symbology")
522 Q_CLASSINFO("group:
labels", "Labels")
531 [[nodiscard]] QColor
color() const;
534 [[nodiscard]]
bool labels() const;
544 [[nodiscard]]
Rule *
rule()
const {
return m_rule; }
550 void onRendererReplaced();
553 Rule *m_rule =
nullptr;
573 Q_CLASSINFO("group:
opacity", "Symbology")
574 Q_CLASSINFO("group:
color", "Symbology")
578 Q_CLASSINFO("group:
slopeBreak", "Slope emphasis")
580 Q_CLASSINFO("group:
wideColor", "Slope emphasis")
587 [[nodiscard]] QColor
color() const;
604 [[nodiscard]]
Rule *
rule()
const {
return m_rule; }
610 void onRendererReplaced();
613 Rule *m_rule =
nullptr;
635 Q_CLASSINFO("group:
opacity", "Symbology")
636 Q_CLASSINFO("group:
color", "Symbology")
638 Q_CLASSINFO("group:
shape", "Symbology")
642 Q_CLASSINFO("group:
taggedColor", "Tagged vertices")
650 [[nodiscard]] QColor
color() const;
669 [[nodiscard]]
Rule *
rule()
const {
return m_rule; }
675 void onRendererReplaced();
678 Rule *m_rule =
nullptr;
698 Q_CLASSINFO("group:
opacity", "Symbology")
703 Q_CLASSINFO("group:
color", "Glyph")
717 [[nodiscard]] QColor
color() const;
729 [[nodiscard]]
Rule *
rule()
const {
return m_rule; }
735 void onRendererReplaced();
738 Rule *m_rule =
nullptr;
760 Q_CLASSINFO("group:
opacity", "Symbology")
773 [[nodiscard]] qreal
opacity() const;
791 [[nodiscard]]
Rule *
rule()
const {
return m_rule; }
797 void onRendererReplaced();
800 Rule *m_rule =
nullptr;
Filled-isoband surface — ContourBandStyle.
Definition symbolstyleadapter.h:445
QColor highColor
Definition symbolstyleadapter.h:452
void setAboveMaxColor(const QColor &c)
Definition symbolstyleadapter.cpp:953
QString attribute
Definition symbolstyleadapter.h:449
QColor lowColor
Definition symbolstyleadapter.h:451
void setBelowMinColor(const QColor &c)
Definition symbolstyleadapter.cpp:948
void setAttribute(const QString &v)
Definition symbolstyleadapter.cpp:928
QColor aboveMaxColor
Definition symbolstyleadapter.h:454
void setSmoothBands(bool v)
Definition symbolstyleadapter.cpp:958
int bandCount
Definition symbolstyleadapter.h:450
void setBandCount(int v)
Definition symbolstyleadapter.cpp:933
QColor belowMinColor
Definition symbolstyleadapter.h:453
qreal opacity
Definition symbolstyleadapter.h:448
Rule * rule() const
Definition symbolstyleadapter.h:488
bool smoothBands
Definition symbolstyleadapter.h:455
Mesh-fill / hillshade surface — MeshFillStyle.
Definition symbolstyleadapter.h:401
bool useElevationRamp
Definition symbolstyleadapter.h:407
QColor fillColor
Definition symbolstyleadapter.h:405
Rule * rule() const
Definition symbolstyleadapter.h:428
void setUseElevationRamp(bool v)
Definition symbolstyleadapter.cpp:919
qreal hillshadeStrength
Definition symbolstyleadapter.h:406
void setHillshadeStrength(qreal v)
Definition symbolstyleadapter.cpp:914
void setFillColor(const QColor &c)
Definition symbolstyleadapter.cpp:909
qreal opacity
Definition symbolstyleadapter.h:404
Contour-line surface — IsolineStyle.
Definition symbolstyleadapter.h:505
void setColor(const QColor &c)
Definition symbolstyleadapter.cpp:977
Qt::PenStyle dashPattern
Definition symbolstyleadapter.h:513
bool labels
Definition symbolstyleadapter.h:514
QString attribute
Definition symbolstyleadapter.h:509
void setIsoValueCount(int v)
Definition symbolstyleadapter.cpp:972
void setDashPattern(Qt::PenStyle s)
Definition symbolstyleadapter.cpp:988
Rule * rule() const
Definition symbolstyleadapter.h:544
qreal lineWidthPx
Definition symbolstyleadapter.h:512
void setLineWidthPx(qreal v)
Definition symbolstyleadapter.cpp:982
int isoValueCount
Definition symbolstyleadapter.h:510
QColor color
Definition symbolstyleadapter.h:511
qreal opacity
Definition symbolstyleadapter.h:508
void setLabels(bool v)
Definition symbolstyleadapter.cpp:993
void setAttribute(const QString &v)
Definition symbolstyleadapter.cpp:967
Single-Symbol panel surface for line archetypes — Conduits / Pumps / Orifices / Weirs / Outlets on th...
Definition symbolstyleadapter.h:241
QColor arrowColor
Definition symbolstyleadapter.h:255
void setArrowColor(const QColor &c)
Definition symbolstyleadapter.cpp:708
Qt::PenStyle dashPattern
Definition symbolstyleadapter.h:247
void setArrowSize(qreal v)
Definition symbolstyleadapter.cpp:687
void setShowArrows(bool v)
Definition symbolstyleadapter.cpp:677
void setArrowOnlyWhenFlowPos(bool v)
Definition symbolstyleadapter.cpp:718
void setLineColor(const QColor &c)
Definition symbolstyleadapter.cpp:606
void setOpacity(qreal v)
Definition symbolstyleadapter.cpp:589
void setLineWidth(qreal v)
Definition symbolstyleadapter.cpp:616
qreal offsetPx
Definition symbolstyleadapter.h:248
QColor labelColor
Definition symbolstyleadapter.h:251
QFont labelFont
Definition symbolstyleadapter.h:250
qreal opacity
Definition symbolstyleadapter.h:244
void setShowLabel(bool v)
Definition symbolstyleadapter.cpp:647
qreal arrowWidth
Definition symbolstyleadapter.h:254
bool arrowOnlyWhenFlowPos
Definition symbolstyleadapter.h:257
void setDashPattern(Qt::PenStyle s)
Definition symbolstyleadapter.cpp:627
void setArrowWidth(qreal v)
Definition symbolstyleadapter.cpp:697
void setLabelColor(const QColor &c)
Definition symbolstyleadapter.cpp:667
bool showArrows
Definition symbolstyleadapter.h:252
void setOffsetPx(qreal v)
Definition symbolstyleadapter.cpp:637
Rule * rule() const
Definition symbolstyleadapter.h:305
qreal arrowSize
Definition symbolstyleadapter.h:253
bool showLabel
Definition symbolstyleadapter.h:249
QColor lineColor
Definition symbolstyleadapter.h:245
qreal lineWidth
Definition symbolstyleadapter.h:246
void setLabelFont(const QFont &f)
Definition symbolstyleadapter.cpp:657
Mesh-wireframe surface — MeshEdgeStyle.
Definition symbolstyleadapter.h:561
void setUseSlopeDrivenWidth(bool v)
Definition symbolstyleadapter.cpp:1018
qreal slopeBreak
Definition symbolstyleadapter.h:569
qreal lineWidthPx
Definition symbolstyleadapter.h:566
qreal wideWidthPx
Definition symbolstyleadapter.h:570
qreal opacity
Definition symbolstyleadapter.h:564
void setWideWidthPx(qreal v)
Definition symbolstyleadapter.cpp:1028
Qt::PenStyle dashPattern
Definition symbolstyleadapter.h:567
void setLineWidthPx(qreal v)
Definition symbolstyleadapter.cpp:1007
QColor color
Definition symbolstyleadapter.h:565
QColor wideColor
Definition symbolstyleadapter.h:571
void setSlopeBreak(qreal v)
Definition symbolstyleadapter.cpp:1023
void setDashPattern(Qt::PenStyle s)
Definition symbolstyleadapter.cpp:1013
void setColor(const QColor &c)
Definition symbolstyleadapter.cpp:1002
bool useSlopeDrivenWidth
Definition symbolstyleadapter.h:568
void setWideColor(const QColor &c)
Definition symbolstyleadapter.cpp:1033
Rule * rule() const
Definition symbolstyleadapter.h:604
Mesh-vertex marker surface — MeshNodeStyle.
Definition symbolstyleadapter.h:621
void setTaggedSizePx(qreal v)
Definition symbolstyleadapter.cpp:1078
bool highlightTagged
Definition symbolstyleadapter.h:631
void setOutlineColor(const QColor &c)
Definition symbolstyleadapter.cpp:1058
void setShape(MarkerShape s)
Definition symbolstyleadapter.cpp:1053
qreal opacity
Definition symbolstyleadapter.h:624
void setColor(const QColor &c)
Definition symbolstyleadapter.cpp:1042
qreal taggedSizePx
Definition symbolstyleadapter.h:633
Rule * rule() const
Definition symbolstyleadapter.h:669
QColor color
Definition symbolstyleadapter.h:625
QColor taggedColor
Definition symbolstyleadapter.h:632
void setMarkerSizePx(qreal v)
Definition symbolstyleadapter.cpp:1047
qreal markerSizePx
Definition symbolstyleadapter.h:626
void setHighlightTagged(bool v)
Definition symbolstyleadapter.cpp:1068
void setTaggedColor(const QColor &c)
Definition symbolstyleadapter.cpp:1073
void setOutlineWidthPx(qreal v)
Definition symbolstyleadapter.cpp:1063
qreal outlineWidthPx
Definition symbolstyleadapter.h:630
QColor outlineColor
Definition symbolstyleadapter.h:629
OpenSWMM::Render::MarkerShape shape
Definition symbolstyleadapter.h:628
Single-Symbol panel surface for point (marker) archetypes — Junctions / Outfalls / Storage / Dividers...
Definition symbolstyleadapter.h:174
qreal markerSize
Definition symbolstyleadapter.h:180
qreal opacity
Definition symbolstyleadapter.h:177
QColor labelColor
Definition symbolstyleadapter.h:186
void setLabelColor(const QColor &c)
Definition symbolstyleadapter.cpp:561
void setOutlineColor(const QColor &c)
Definition symbolstyleadapter.cpp:521
OpenSWMM::Render::MarkerShape markerShape
Definition symbolstyleadapter.h:179
void setMarkerSize(qreal v)
Definition symbolstyleadapter.cpp:498
void setLabelFont(const QFont &f)
Definition symbolstyleadapter.cpp:551
QColor fillColor
Definition symbolstyleadapter.h:181
void setOpacity(qreal v)
Definition symbolstyleadapter.cpp:468
void setFillColor(const QColor &c)
Definition symbolstyleadapter.cpp:511
QFont labelFont
Definition symbolstyleadapter.h:185
qreal outlineWidth
Definition symbolstyleadapter.h:183
void setMarkerShape(MarkerShape v)
Definition symbolstyleadapter.cpp:488
Rule * rule() const
Definition symbolstyleadapter.h:222
void setOutlineWidth(qreal v)
Definition symbolstyleadapter.cpp:531
void setShowLabel(bool v)
Definition symbolstyleadapter.cpp:541
QColor outlineColor
Definition symbolstyleadapter.h:182
bool showLabel
Definition symbolstyleadapter.h:184
Single-Symbol panel surface for polygon archetypes — Subcatchments on the SWMM model layer and the po...
Definition symbolstyleadapter.h:748
void setOutlineWidth(qreal v)
Definition symbolstyleadapter.cpp:795
qreal fillOpacity
Definition symbolstyleadapter.h:753
void setLabelColor(const QColor &c)
Definition symbolstyleadapter.cpp:825
void setFillColor(const QColor &c)
Definition symbolstyleadapter.cpp:764
void setOpacity(qreal v)
Definition symbolstyleadapter.cpp:746
bool showLabel
Definition symbolstyleadapter.h:756
qreal opacity
Definition symbolstyleadapter.h:751
void setFillOpacity(qreal v)
Definition symbolstyleadapter.cpp:774
void setLabelFont(const QFont &f)
Definition symbolstyleadapter.cpp:815
QFont labelFont
Definition symbolstyleadapter.h:757
Rule * rule() const
Definition symbolstyleadapter.h:791
qreal outlineWidth
Definition symbolstyleadapter.h:755
QColor labelColor
Definition symbolstyleadapter.h:758
QColor outlineColor
Definition symbolstyleadapter.h:754
void setOutlineColor(const QColor &c)
Definition symbolstyleadapter.cpp:785
QColor fillColor
Definition symbolstyleadapter.h:752
void setShowLabel(bool v)
Definition symbolstyleadapter.cpp:805
Depth color-ramp surface — DepthColorRampStyle.
Definition symbolstyleadapter.h:337
QColor belowMinColor
Definition symbolstyleadapter.h:346
qreal minValue
Definition symbolstyleadapter.h:342
qreal maxValue
Definition symbolstyleadapter.h:343
QColor aboveMaxColor
Definition symbolstyleadapter.h:347
void setBelowMinColor(const QColor &c)
Definition symbolstyleadapter.cpp:890
QString attribute
Definition symbolstyleadapter.h:341
Rule * rule() const
Definition symbolstyleadapter.h:384
void setAboveMaxColor(const QColor &c)
Definition symbolstyleadapter.cpp:895
void setMinValue(qreal v)
Definition symbolstyleadapter.cpp:870
void setUseLogScale(bool v)
Definition symbolstyleadapter.cpp:900
void setMaxValue(qreal v)
Definition symbolstyleadapter.cpp:875
qreal opacity
Definition symbolstyleadapter.h:340
bool useLogScale
Definition symbolstyleadapter.h:348
QColor highColor
Definition symbolstyleadapter.h:345
void setAttribute(const QString &v)
Definition symbolstyleadapter.cpp:865
QColor lowColor
Definition symbolstyleadapter.h:344
One layer-scope styled aspect — name + renderer + filter + scale.
Definition rule.h:51
Definition symbolstyleadapter.h:54
void setFillColor(const QColor &c)
Definition symbolstyleadapter.cpp:335
void setOpacity(qreal v)
Definition symbolstyleadapter.cpp:292
static QObject * createFor(Rule *rule, QObject *parent=nullptr)
Slice SS.1 factory. Returns a freshly-allocated archetype-aware adapter (Point / Line / Polygon subcl...
Definition symbolstyleadapter.cpp:402
qreal strokeWidth
Stroke / outline width in pixels. Reads "width" first (lines), falls back to "outlineWidth" (markers)...
Definition symbolstyleadapter.h:73
qreal markerSize
Marker size in pixels. No-op for non-marker symbol layers.
Definition symbolstyleadapter.h:76
void setMarkerSize(qreal v)
Definition symbolstyleadapter.cpp:381
qreal opacity
Overall symbol opacity in [0, 1].
Definition symbolstyleadapter.h:58
OpenSWMM::Render::MarkerShape markerShape
Marker shape (Z.4 canonical enum). Typed as MarkerShape so QPropertyModel surfaces it through a Q_ENU...
Definition symbolstyleadapter.h:84
Rule * rule() const
Definition symbolstyleadapter.h:126
void setStrokeColor(const QColor &c)
Definition symbolstyleadapter.cpp:349
void setStrokeWidth(qreal v)
Definition symbolstyleadapter.cpp:370
QColor strokeColor
Stroke colour ("color" prop on lines, "outlineColor" on markers / fills). The setter writes both keys...
Definition symbolstyleadapter.h:68
void setMarkerShape(MarkerShape v)
Definition symbolstyleadapter.cpp:393
QColor fillColor
Fill colour of the first SymbolLayer's "fillColor" prop (markers, polygons). Invalid when the layer d...
Definition symbolstyleadapter.h:63
2D velocity-arrow surface — VelocityVectorStyle.
Definition symbolstyleadapter.h:686
void setGlyphSpacingPx(qreal v)
Definition symbolstyleadapter.cpp:1102
Rule * rule() const
Definition symbolstyleadapter.h:729
qreal glyphSpacingPx
Definition symbolstyleadapter.h:693
qreal headSizePx
Definition symbolstyleadapter.h:694
qreal glyphLengthScalePxPerMps
Definition symbolstyleadapter.h:690
void setGlyphLengthMinPx(qreal v)
Definition symbolstyleadapter.cpp:1092
void setColor(const QColor &c)
Definition symbolstyleadapter.cpp:1113
void setGlyphLengthMaxPx(qreal v)
Definition symbolstyleadapter.cpp:1097
qreal glyphLengthMaxPx
Definition symbolstyleadapter.h:692
void setDryDepthCutoff(qreal v)
Definition symbolstyleadapter.cpp:1118
qreal glyphLengthMinPx
Definition symbolstyleadapter.h:691
qreal dryDepthCutoff
Definition symbolstyleadapter.h:696
QColor color
Definition symbolstyleadapter.h:695
void setGlyphLengthScalePxPerMps(qreal v)
Definition symbolstyleadapter.cpp:1087
void setHeadSizePx(qreal v)
Definition symbolstyleadapter.cpp:1107
qreal opacity
Definition symbolstyleadapter.h:689
double s
Scene px per model length unit.
Definition inletdrawingview.cpp:82
Canonical 19-shape enum used by Marker Symbol Layers (Slice Z.4; extended set appended later).
const char * key
Definition meshcellparams.cpp:24
Definition gisrasterlayer.h:40
MarkerShape
13 canonical marker shapes the Rule Model's Marker Symbol Layer supports (per RENDERING_RULE_MODEL_PL...
Definition markershape.h:53
Definition contourchain.h:23
QVector< int > v
pool vertex indices
Definition pslgminsize.cpp:159
QVector< int > parent
union-find
Definition pslgminsize.cpp:176
std::function< void(const QColor &)> setLowColor
Definition swmm2dresultsstylepanel.cpp:67
std::function< void(const QColor &)> setHighColor
Definition swmm2dresultsstylepanel.cpp:69