15#ifndef PROFILE_PLOT_OPTIONS_H
16#define PROFILE_PLOT_OPTIONS_H
220 Q_INVOKABLE QString
displayLabelFor(const QString &propertyName) const;
388 bool m_currentHglLine =
true;
389 bool m_currentHglFill =
true;
390 bool m_currentEgl =
true;
391 bool m_maxHglBand =
false;
392 bool m_maxHglLine =
false;
393 bool m_maxEglLine =
false;
394 bool m_showNodeLabels =
false;
395 bool m_showLinkLabels =
false;
396 bool m_inlineNodeLabels =
false;
398 int m_labelAngleDeg = 45;
402 int m_xLabelPrecision = 0;
403 QString m_xLabelFormatStr;
405 int m_yLabelPrecision = 2;
406 QString m_yLabelFormatStr;
410 bool m_show2DInundation =
true;
412 QPen m_inundation2DLinePen = QPen(QColor(0x00, 0x8B, 0x8B), 1.6, Qt::SolidLine);
413 QBrush m_inundation2DFillBrush {QColor(0x20, 0xB2, 0xAA, 90), Qt::SolidPattern};
414 bool m_showBranchStubs =
true;
415 bool m_showNodeRoses =
true;
421 double m_floodRadiusPx = 15.0;
422 int m_floodSweepDeg = 60;
423 QColor m_floodColor {0xE5, 0x21, 0x21};
427 QColor m_junctionFill {0xCF, 0xE2, 0xF3};
428 QColor m_junctionOutline {0x1C, 0x4E, 0x7A};
429 QColor m_outfallFill {0xF4, 0xCC, 0xCC};
430 QColor m_outfallOutline {0x8A, 0x21, 0x21};
431 QColor m_storageFill {0xD9, 0xEA, 0xD3};
432 QColor m_storageOutline {0x2D, 0x6A, 0x2D};
433 QColor m_dividerFill {0xFF, 0xE5, 0x99};
434 QColor m_dividerOutline {0x9C, 0x6F, 0x14};
438 QPen m_virtualJunctionOutlinePen =
439 QPen(QColor(0x33, 0x33, 0x33), 1.0, Qt::CustomDashLine);
440 QColor m_conduitFill {0xEE, 0xEE, 0xEE};
441 QColor m_conduitOutline {0x33, 0x33, 0x33};
442 QColor m_pumpFill {0xFF, 0xD6, 0xA5};
443 QColor m_pumpOutline {0xC2, 0x70, 0x1A};
444 QColor m_weirFill {0x5D, 0x40, 0x37};
445 QColor m_weirOutline {0x3E, 0x2A, 0x1E};
446 QColor m_orificeFill {0xC9, 0xE4, 0xCA};
447 QColor m_orificeOutline {0x2E, 0x6E, 0x39};
448 QColor m_outletFill {0xF5, 0xC2, 0xC7};
449 QColor m_outletOutline {0xA3, 0x3D, 0x4C};
450 QColor m_soilFill {0xC6, 0xA9, 0x7A, 130};
451 QColor m_beddingFill {0x9C, 0x82, 0x5A, 110};
456 QPen m_hglLinePen = QPen(QColor(0x1F, 0x6F, 0xB7), 2.2, Qt::SolidLine);
457 QBrush m_hglFillBrush {QColor(0x55, 0xA8, 0xE6, 110), Qt::SolidPattern};
458 QPen m_eglLinePen = QPen(QColor(0x1F, 0x6F, 0xB7), 1.6, Qt::CustomDashLine);
459 QPen m_maxHglLinePen = QPen(QColor(0x1F, 0x6F, 0xB7), 1.54, Qt::DashLine);
460 QBrush m_maxHglFillBrush {QColor(0x55, 0xA8, 0xE6, 80), Qt::SolidPattern};
461 QPen m_maxEglLinePen = QPen(QColor(0x1F, 0x6F, 0xB7), 1.12, Qt::DashLine);
462 QPen m_conduitOutlinePen = QPen(QColor(0x33, 0x33, 0x33), 1.5, Qt::SolidLine);
463 QPen m_orificeOutlinePen = QPen(QColor(0x2E, 0x6E, 0x39), 1.5, Qt::SolidLine);
464 QPen m_weirOutlinePen = QPen(QColor(0x3E, 0x2A, 0x1E), 1.5, Qt::SolidLine);
465 QPen m_pumpOutlinePen = QPen(QColor(0xC2, 0x70, 0x1A), 1.2, Qt::SolidLine);
466 QPen m_outletOutlinePen = QPen(QColor(0xA3, 0x3D, 0x4C), 1.2, Qt::SolidLine);
467 QBrush m_streetInvertBrush {QColor(0x55, 0x55, 0x55), Qt::BDiagPattern};
470 bool m_legendVisible =
true;
473 double m_legendOpacity = 0.86;
474 QPointF m_legendOffset { 0.0, 0.0 };
479 bool m_showTimeLabel =
true;
481 QColor m_timeLabelColor {0x10, 0x10, 0x10};
482 QFont m_timeLabelFont;
483 QString m_timeLabelFormat = QStringLiteral(
"dd-MMM-yyyy HH:mm:ss");
484 QPointF m_timeLabelOffset { 0.0, 0.0 };
Definition profileplotoptions.h:28
void setInlineNodeLabels(bool v)
Definition profileplotoptions.cpp:144
QPen weirOutlinePen
Definition profileplotoptions.h:190
QColor conduitOutline
Definition profileplotoptions.h:162
LegendPosition legendPosition() const
Definition profileplotoptions.h:297
QColor outfallOutline
Definition profileplotoptions.h:147
void setWeirOutline(const QColor &c)
Definition profileplotoptions.cpp:224
void setBeddingFill(const QColor &c)
Definition profileplotoptions.cpp:230
QColor pumpOutline
Definition profileplotoptions.h:164
QColor outletOutline
Definition profileplotoptions.h:170
QColor pumpOutline() const
Definition profileplotoptions.h:273
QPen maxEglLinePen
Definition profileplotoptions.h:187
bool maxEglLine() const
Definition profileplotoptions.h:228
void setDividerOutline(const QColor &c)
Definition profileplotoptions.cpp:216
ProfilePlotOptions::TimeLabelPosition timeLabelPosition
Definition profileplotoptions.h:206
void setLabelAngleDeg(int deg)
Definition profileplotoptions.cpp:146
QBrush maxHglFillBrush
Definition profileplotoptions.h:186
QPen conduitOutlinePen() const
Definition profileplotoptions.h:288
int xLabelPrecision() const
Definition profileplotoptions.h:240
QFont timeLabelFont
Definition profileplotoptions.h:208
bool currentHglLine
Definition profileplotoptions.h:87
QColor orificeOutline() const
Definition profileplotoptions.h:277
QColor storageFill() const
Definition profileplotoptions.h:265
void setLegendVisible(bool v)
Definition profileplotoptions.cpp:245
void setYLabelFormat(const QString &spec)
Definition profileplotoptions.cpp:191
AxisNumberFormat
Definition profileplotoptions.h:48
@ Scientific4
Definition profileplotoptions.h:60
@ Decimals4
Definition profileplotoptions.h:53
@ SigFigs4
Definition profileplotoptions.h:56
@ Thousands2
Definition profileplotoptions.h:65
@ Scientific2
Definition profileplotoptions.h:58
@ SigFigs3
Definition profileplotoptions.h:55
@ Scientific3
Definition profileplotoptions.h:59
@ SigFigs6
Definition profileplotoptions.h:57
@ Decimals6
Definition profileplotoptions.h:54
@ Decimals2
Definition profileplotoptions.h:51
@ Engineering3
Definition profileplotoptions.h:62
@ Integer
Definition profileplotoptions.h:49
@ Decimals1
Definition profileplotoptions.h:50
@ ThousandsInteger
Definition profileplotoptions.h:63
@ Decimals3
Definition profileplotoptions.h:52
@ Thousands1
Definition profileplotoptions.h:64
@ Engineering2
Definition profileplotoptions.h:61
void setStorageFill(const QColor &c)
Definition profileplotoptions.cpp:213
QColor junctionOutline() const
Definition profileplotoptions.h:262
ProfilePlotOptions::GroundSource groundSource
Definition profileplotoptions.h:120
QPointF legendOffset() const
Definition profileplotoptions.h:300
bool showNodeLabels() const
Definition profileplotoptions.h:229
bool showLinkLabels() const
Definition profileplotoptions.h:230
QPointF legendOffset
Definition profileplotoptions.h:201
QColor outfallFill() const
Definition profileplotoptions.h:263
void setOutletFill(const QColor &c)
Definition profileplotoptions.cpp:227
QColor weirFill
Definition profileplotoptions.h:165
QPen virtualJunctionOutlinePen
Definition profileplotoptions.h:158
bool showNodeLabels
Definition profileplotoptions.h:96
void setMaxHglLinePen(const QPen &p)
Definition profileplotoptions.cpp:234
void setShowBranchStubs(bool v)
Definition profileplotoptions.cpp:196
QColor soilFill
Definition profileplotoptions.h:173
bool showLinkLabels
Definition profileplotoptions.h:97
bool maxHglBand
Definition profileplotoptions.h:90
QBrush streetInvertBrush() const
Definition profileplotoptions.h:295
bool inlineNodeLabels() const
Definition profileplotoptions.h:231
void setVirtualJunctionOutlinePen(const QPen &p)
Definition profileplotoptions.cpp:217
void setTimeLabelPosition(TimeLabelPosition p)
Definition profileplotoptions.cpp:256
ProfilePlotOptions::AxisNumberFormat yAxisNumberFormat
Definition profileplotoptions.h:111
QString yLabelFormat
Definition profileplotoptions.h:113
void setWeirFill(const QColor &c)
Definition profileplotoptions.cpp:223
QColor outletFill() const
Definition profileplotoptions.h:278
void setOutfallFill(const QColor &c)
Definition profileplotoptions.cpp:211
void setOutletOutline(const QColor &c)
Definition profileplotoptions.cpp:228
bool showTimeLabel
Definition profileplotoptions.h:204
QString timeLabelFormat() const
Definition profileplotoptions.h:306
TimeLabelPosition
Definition profileplotoptions.h:73
@ TimeBottomLeft
Definition profileplotoptions.h:74
@ TimeTopRight
Definition profileplotoptions.h:73
@ TimeTopLeft
Definition profileplotoptions.h:73
@ TimeBottomRight
Definition profileplotoptions.h:74
GroundSource
Ground-line source. Auto resolves to Mesh2D when the project has a 2D mesh layer, else NodeRims.
Definition profileplotoptions.h:79
@ NodeRims
Definition profileplotoptions.h:79
@ Auto
Definition profileplotoptions.h:79
@ TerrainDEM
Definition profileplotoptions.h:79
@ Mesh2D
Definition profileplotoptions.h:79
QString timeLabelFormat
Definition profileplotoptions.h:209
QPointF timeLabelOffset() const
Definition profileplotoptions.h:307
void setOrificeOutline(const QColor &c)
Definition profileplotoptions.cpp:226
QPen maxHglLinePen() const
Definition profileplotoptions.h:285
QColor dividerFill() const
Definition profileplotoptions.h:267
void setStorageOutline(const QColor &c)
Definition profileplotoptions.cpp:214
void setMaxEglLine(bool v)
Definition profileplotoptions.cpp:139
QColor soilFill() const
Definition profileplotoptions.h:280
QColor weirOutline
Definition profileplotoptions.h:166
void setLegendOpacity(double a)
Definition profileplotoptions.cpp:248
QColor conduitOutline() const
Definition profileplotoptions.h:271
QColor outletFill
Definition profileplotoptions.h:169
bool currentEgl
Definition profileplotoptions.h:89
void setShow2DInundation(bool v)
Definition profileplotoptions.cpp:193
void setMaxHglBand(bool v)
Definition profileplotoptions.cpp:137
QColor outfallFill
Definition profileplotoptions.h:146
void setLegendFont(const QFont &f)
Definition profileplotoptions.cpp:247
bool maxEglLine
Definition profileplotoptions.h:93
QColor outfallOutline() const
Definition profileplotoptions.h:264
void setLegendPosition(LegendPosition p)
Definition profileplotoptions.cpp:246
void setJunctionFill(const QColor &c)
Definition profileplotoptions.cpp:209
void setXLabelFormat(const QString &spec)
Definition profileplotoptions.cpp:185
void setConduitOutlinePen(const QPen &p)
Definition profileplotoptions.cpp:237
double legendOpacity() const
Definition profileplotoptions.h:299
bool legendVisible
Definition profileplotoptions.h:196
void setGroundSource(GroundSource s)
Definition profileplotoptions.cpp:192
ProfilePlotOptions::LegendPosition legendPosition
Definition profileplotoptions.h:198
bool maxHglBand() const
Definition profileplotoptions.h:226
void setMaxHglFillBrush(const QBrush &b)
Definition profileplotoptions.cpp:235
Q_INVOKABLE QString displayLabelFor(const QString &propertyName) const
Human-readable label QPropertyModel uses in the row header instead of the raw Q_PROPERTY name....
Definition profileplotoptions.cpp:47
QColor outletOutline() const
Definition profileplotoptions.h:279
void setXLabelFormatMode(LabelFormatMode m)
Definition profileplotoptions.cpp:150
bool showNodeRoses
Definition profileplotoptions.h:136
TimeLabelPosition timeLabelPosition() const
Definition profileplotoptions.h:303
QPen pumpOutlinePen() const
Definition profileplotoptions.h:291
LabelOrientation labelOrientation() const
Definition profileplotoptions.h:232
void setXAxisNumberFormat(AxisNumberFormat f)
Definition profileplotoptions.cpp:165
void setOrificeFill(const QColor &c)
Definition profileplotoptions.cpp:225
QColor junctionOutline
Definition profileplotoptions.h:145
bool currentHglFill() const
Definition profileplotoptions.h:224
QPointF timeLabelOffset
Definition profileplotoptions.h:210
bool maxHglLine() const
Definition profileplotoptions.h:227
void setDividerFill(const QColor &c)
Definition profileplotoptions.cpp:215
openswmmvis::plot::NumberFormat yFormat() const
Definition profileplotoptions.h:248
QColor dividerOutline() const
Definition profileplotoptions.h:268
QColor timeLabelColor() const
Definition profileplotoptions.h:304
ProfilePlotOptions::LabelOrientation labelOrientation
Definition profileplotoptions.h:100
void setConduitOutline(const QColor &c)
Definition profileplotoptions.cpp:220
QColor pumpFill
Definition profileplotoptions.h:163
bool legendVisible() const
Definition profileplotoptions.h:296
void setInundation2DFillBrush(const QBrush &b)
Definition profileplotoptions.cpp:195
openswmmvis::plot::NumberFormat xFormat() const
Current X/Y axis label format as the shared value type.
Definition profileplotoptions.h:246
QColor weirOutline() const
Definition profileplotoptions.h:275
LabelFormatMode yLabelFormatMode() const
Definition profileplotoptions.h:242
LabelOrientation
Definition profileplotoptions.h:32
@ Diagonal
Definition profileplotoptions.h:32
@ Vertical
Definition profileplotoptions.h:32
@ Horizontal
Definition profileplotoptions.h:32
ProfilePlotOptions::AxisNumberFormat xAxisNumberFormat
Definition profileplotoptions.h:107
double floodRadiusPx() const
Definition profileplotoptions.h:257
void setShowNodeRoses(bool v)
Definition profileplotoptions.cpp:197
QColor junctionFill() const
Definition profileplotoptions.h:261
void setJunctionOutline(const QColor &c)
Definition profileplotoptions.cpp:210
void setYLabelFormatMode(LabelFormatMode m)
Definition profileplotoptions.cpp:186
QColor beddingFill() const
Definition profileplotoptions.h:281
bool showTimeLabel() const
Definition profileplotoptions.h:302
LabelFormatMode
Axis label number mode; values mirror openswmmvis::plot::NumberFormatMode (0=Decimals,...
Definition profileplotoptions.h:38
@ Scientific
Definition profileplotoptions.h:39
@ Engineering
Definition profileplotoptions.h:39
@ Decimals
Definition profileplotoptions.h:38
@ Thousands
Definition profileplotoptions.h:39
@ SignificantFigures
Definition profileplotoptions.h:38
QBrush inundation2DFillBrush() const
Definition profileplotoptions.h:253
QColor pumpFill() const
Definition profileplotoptions.h:272
void setStreetInvertBrush(const QBrush &b)
Definition profileplotoptions.cpp:242
QColor conduitFill
Definition profileplotoptions.h:161
QPen orificeOutlinePen
Definition profileplotoptions.h:189
bool show2DInundation() const
Definition profileplotoptions.h:251
void setFloodColor(const QColor &c)
Definition profileplotoptions.cpp:206
QPen outletOutlinePen() const
Definition profileplotoptions.h:292
void setEglLinePen(const QPen &p)
Definition profileplotoptions.cpp:233
bool show2DInundation
Definition profileplotoptions.h:127
void setLabelOrientation(LabelOrientation o)
Definition profileplotoptions.cpp:145
QFont legendFont
Definition profileplotoptions.h:199
void setShowNodeLabels(bool v)
Definition profileplotoptions.cpp:142
int floodSweepDeg() const
Definition profileplotoptions.h:258
void setWeirOutlinePen(const QPen &p)
Definition profileplotoptions.cpp:239
double legendOpacity
Definition profileplotoptions.h:200
void setFloodSweepDeg(int deg)
Definition profileplotoptions.cpp:202
LabelFormatMode xLabelFormatMode() const
Definition profileplotoptions.h:239
QColor timeLabelColor
Definition profileplotoptions.h:207
void setOrificeOutlinePen(const QPen &p)
Definition profileplotoptions.cpp:238
QColor floodColor
Definition profileplotoptions.h:141
QPen orificeOutlinePen() const
Definition profileplotoptions.h:289
QPen hglLinePen() const
Definition profileplotoptions.h:282
void setCurrentEgl(bool v)
Definition profileplotoptions.cpp:136
void setConduitFill(const QColor &c)
Definition profileplotoptions.cpp:219
QBrush hglFillBrush
Definition profileplotoptions.h:181
LegendPosition
Definition profileplotoptions.h:69
@ BottomLeft
Definition profileplotoptions.h:70
@ BottomRight
Definition profileplotoptions.h:70
@ TopRight
Definition profileplotoptions.h:69
@ TopLeft
Definition profileplotoptions.h:69
QString yLabelFormat() const
Definition profileplotoptions.h:244
bool maxHglLine
Definition profileplotoptions.h:91
QColor storageOutline() const
Definition profileplotoptions.h:266
void setTimeLabelColor(const QColor &c)
Definition profileplotoptions.cpp:257
double floodRadiusPx
Definition profileplotoptions.h:139
int yLabelPrecision() const
Definition profileplotoptions.h:243
QColor floodColor() const
Definition profileplotoptions.h:259
QPen pumpOutlinePen
Definition profileplotoptions.h:191
int labelAngleDeg() const
Definition profileplotoptions.h:233
void setTimeLabelFormat(const QString &fmt)
Definition profileplotoptions.cpp:259
void setPumpOutline(const QColor &c)
Definition profileplotoptions.cpp:222
void setShowLinkLabels(bool v)
Definition profileplotoptions.cpp:143
void setPumpOutlinePen(const QPen &p)
Definition profileplotoptions.cpp:240
QBrush inundation2DFillBrush
Definition profileplotoptions.h:129
QPen inundation2DLinePen() const
Definition profileplotoptions.h:252
bool inlineNodeLabels
Definition profileplotoptions.h:98
bool currentHglFill
Definition profileplotoptions.h:88
void setShowTimeLabel(bool v)
Definition profileplotoptions.cpp:255
QColor storageFill
Definition profileplotoptions.h:148
QPen eglLinePen
Definition profileplotoptions.h:182
void setYAxisNumberFormat(AxisNumberFormat f)
Definition profileplotoptions.cpp:174
void setMaxEglLinePen(const QPen &p)
Definition profileplotoptions.cpp:236
QPen inundation2DLinePen
Definition profileplotoptions.h:128
int floodSweepDeg
Definition profileplotoptions.h:140
QFont timeLabelFont() const
Definition profileplotoptions.h:305
QColor orificeFill
Definition profileplotoptions.h:167
void setInundation2DLinePen(const QPen &p)
Definition profileplotoptions.cpp:194
bool currentEgl() const
Definition profileplotoptions.h:225
void setPumpFill(const QColor &c)
Definition profileplotoptions.cpp:221
QBrush hglFillBrush() const
Definition profileplotoptions.h:283
QColor dividerOutline
Definition profileplotoptions.h:151
void setHglFillBrush(const QBrush &b)
Definition profileplotoptions.cpp:232
void setCurrentHglFill(bool v)
Definition profileplotoptions.cpp:135
QColor dividerFill
Definition profileplotoptions.h:150
QString xLabelFormat() const
Definition profileplotoptions.h:241
QString xLabelFormat
Definition profileplotoptions.h:109
QColor conduitFill() const
Definition profileplotoptions.h:270
void setOutletOutlinePen(const QPen &p)
Definition profileplotoptions.cpp:241
QPen virtualJunctionOutlinePen() const
Definition profileplotoptions.h:269
bool showBranchStubs() const
Definition profileplotoptions.h:254
QPen weirOutlinePen() const
Definition profileplotoptions.h:290
GroundSource groundSource() const
Definition profileplotoptions.h:250
bool showBranchStubs
Definition profileplotoptions.h:135
QColor beddingFill
Definition profileplotoptions.h:174
QColor orificeOutline
Definition profileplotoptions.h:168
QColor storageOutline
Definition profileplotoptions.h:149
QPen hglLinePen
Definition profileplotoptions.h:180
int labelAngleDeg
Definition profileplotoptions.h:101
QFont legendFont() const
Definition profileplotoptions.h:298
QPen maxEglLinePen() const
Definition profileplotoptions.h:287
void setSoilFill(const QColor &c)
Definition profileplotoptions.cpp:229
bool showNodeRoses() const
Definition profileplotoptions.h:255
void setTimeLabelFont(const QFont &f)
Definition profileplotoptions.cpp:258
void setXLabelPrecision(int count)
Definition profileplotoptions.cpp:181
QColor orificeFill() const
Definition profileplotoptions.h:276
QColor weirFill() const
Definition profileplotoptions.h:274
QBrush streetInvertBrush
Definition profileplotoptions.h:193
void setCurrentHglLine(bool v)
Definition profileplotoptions.cpp:134
QPen outletOutlinePen
Definition profileplotoptions.h:192
QColor junctionFill
Definition profileplotoptions.h:144
void setYLabelPrecision(int count)
Definition profileplotoptions.cpp:187
void setOutfallOutline(const QColor &c)
Definition profileplotoptions.cpp:212
QPen conduitOutlinePen
Definition profileplotoptions.h:188
void setTimeLabelOffset(const QPointF &p)
Definition profileplotoptions.cpp:260
void setHglLinePen(const QPen &p)
Definition profileplotoptions.cpp:231
void setLegendOffset(const QPointF &p)
Definition profileplotoptions.cpp:252
QBrush maxHglFillBrush() const
Definition profileplotoptions.h:286
void setMaxHglLine(bool v)
Definition profileplotoptions.cpp:138
void setFloodRadiusPx(double r)
Definition profileplotoptions.cpp:198
QPen eglLinePen() const
Definition profileplotoptions.h:284
QPen maxHglLinePen
Definition profileplotoptions.h:185
double s
Scene px per model length unit.
Definition inletdrawingview.cpp:82
ArrowPlacement p
Definition linesymbollayer.cpp:27
MaskMode m
Definition maskspec.cpp:18
int b
local residual indices, a < b
Definition meshquadmatch.cpp:46
int a
Definition meshquadmatch.cpp:46
NumberFormatMode
Interpretation of NumberFormat::count.
Definition numberformat.h:32
QVector< int > v
pool vertex indices
Definition pslgminsize.cpp:159
QVector< int > parent
union-find
Definition pslgminsize.cpp:176