7#ifndef OPENSWMM_RENDER_SUBLAYERS_ISOLINESUBLAYER_H
8#define OPENSWMM_RENDER_SUBLAYERS_ISOLINESUBLAYER_H
54 Q_CLASSINFO("group:
attribute", "Classification")
55 Q_CLASSINFO("group:
levelMode", "Classification")
58 Q_CLASSINFO("group:
baseLevel", "Classification")
60 Q_CLASSINFO("group:
color", "Symbology")
64 Q_CLASSINFO("group:
labels", "Labels")
75 [[nodiscard]] QString
attribute()
const {
return m_attribute; }
79 [[nodiscard]]
double baseLevel()
const {
return m_baseLevel; }
80 [[nodiscard]]
double lineWidthPx()
const {
return m_lineWidthPx; }
81 [[nodiscard]] QColor
color()
const {
return m_color; }
82 [[nodiscard]] Qt::PenStyle
dashPattern()
const {
return m_dashPattern; }
83 [[nodiscard]]
int indexEvery()
const {
return m_indexEvery; }
84 [[nodiscard]]
double indexWidthPx()
const {
return m_indexWidthPx; }
85 [[nodiscard]]
bool labels()
const {
return m_labels; }
87 [[nodiscard]]
double labelFontPt()
const {
return m_labelFontPt; }
88 [[nodiscard]]
bool labelHalo()
const {
return m_labelHalo; }
112 [[nodiscard]] std::vector<double>
levelsForRange(
double vMin,
double vMax,
113 const QVector<double> &samples = {})
const;
121 [[nodiscard]] QJsonObject
toJson()
const override;
122 void fromJson(
const QJsonObject &j)
override;
125 QString m_attribute = QStringLiteral(
"depth");
127 double m_levelInterval = 0.5;
128 double m_baseLevel = 0.0;
129 double m_lineWidthPx = 1.0;
130 QColor m_color = QColor(10, 10, 10, 220);
131 Qt::PenStyle m_dashPattern = Qt::SolidLine;
132 int m_indexEvery = 0;
133 double m_indexWidthPx = 2.0;
134 bool m_labels =
false;
135 int m_labelDecimals = 2;
136 double m_labelFontPt = 9.0;
137 bool m_labelHalo =
true;
148 QString
id()
const override {
return m_id; }
152 const QString
a = m_style ? m_style->
attribute() : QString();
153 if (
a.compare(QLatin1String(
"elevation"), Qt::CaseInsensitive) == 0)
154 return tr(
"Elevation Isolines");
155 return tr(
"Depth Isolines");
160 qreal
opacity()
const override {
return m_opacity; }
174 bool m_visible =
false;
175 qreal m_opacity = 1.0;
Shared classification model: mode + binner + ramp + range + per-class overrides, with a revision stam...
Definition classificationscheme.h:61
int classCount() const
Definition classificationscheme.h:95
One toggleable visual aspect of a results / model layer.
Definition isublayer.h:87
Kind
Coarse taxonomy of sublayer paint behaviours.
Definition isublayer.h:100
@ IsolineKind
Definition isublayer.h:106
Definition isolinesublayer.h:26
double baseLevel() const
Definition isolinesublayer.h:79
int indexEvery
Definition isolinesublayer.h:47
void setLevelInterval(double v)
Definition isolinesublayer.cpp:49
double lineWidthPx
Definition isolinesublayer.h:42
QColor color
Definition isolinesublayer.h:43
bool labelHalo() const
Definition isolinesublayer.h:88
bool labels
Definition isolinesublayer.h:49
int labelDecimals() const
Definition isolinesublayer.h:86
double levelInterval
Definition isolinesublayer.h:40
void setLineWidthPx(double v)
Definition isolinesublayer.cpp:38
Qt::PenStyle dashPattern() const
Definition isolinesublayer.h:82
void setLabelDecimals(int v)
Definition isolinesublayer.cpp:76
double indexWidthPx
Definition isolinesublayer.h:48
void setIndexEvery(int v)
Definition isolinesublayer.cpp:62
double indexWidthPx() const
Definition isolinesublayer.h:84
void setLevelMode(LevelMode v)
Definition isolinesublayer.cpp:48
Qt::PenStyle dashPattern
Definition isolinesublayer.h:44
bool labelHalo
Definition isolinesublayer.h:52
double labelFontPt() const
Definition isolinesublayer.h:87
int isoValueCount() const
Definition isolinesublayer.h:77
double lineWidthPx() const
Definition isolinesublayer.h:80
void setColor(const QColor &v)
Definition isolinesublayer.cpp:45
void setLabelHalo(bool v)
Definition isolinesublayer.cpp:90
LevelMode
Definition isolinesublayer.h:33
QString attribute
Definition isolinesublayer.h:37
void setBaseLevel(double v)
Definition isolinesublayer.cpp:56
int labelDecimals
Definition isolinesublayer.h:50
bool labels() const
Definition isolinesublayer.h:85
double labelFontPt
Definition isolinesublayer.h:51
void setIsoValueCount(int v)
Definition isolinesublayer.cpp:25
const ClassificationScheme & scheme() const
Definition isolinesublayer.h:118
void fromJson(const QJsonObject &j) override
Restore the style from JSON.
Definition isolinesublayer.cpp:144
void setScheme(const ClassificationScheme &s)
Definition isolinesublayer.cpp:32
LevelMode levelMode() const
Definition isolinesublayer.h:76
void setLabels(bool v)
Definition isolinesublayer.cpp:47
QJsonObject toJson() const override
Serialize the style to JSON.
Definition isolinesublayer.cpp:121
void setDashPattern(Qt::PenStyle v)
Definition isolinesublayer.cpp:46
void setAttribute(const QString &v)
Definition isolinesublayer.cpp:24
QColor color() const
Definition isolinesublayer.h:81
int isoValueCount
Definition isolinesublayer.h:39
double baseLevel
Definition isolinesublayer.h:41
int indexEvery() const
Definition isolinesublayer.h:83
LevelMode levelMode
Definition isolinesublayer.h:38
void setIndexWidthPx(double v)
Definition isolinesublayer.cpp:69
double levelInterval() const
Definition isolinesublayer.h:78
void setLabelFontPt(double v)
Definition isolinesublayer.cpp:83
std::vector< double > levelsForRange(double vMin, double vMax, const QVector< double > &samples={}) const
Definition isolinesublayer.cpp:92
Definition isolinesublayer.h:142
qreal opacity() const override
Definition isolinesublayer.h:160
void setOpacity(qreal o) override
Definition isolinesublayer.cpp:196
QString id() const override
Definition isolinesublayer.h:148
QSGNode * buildOrUpdateNode(QSGNode *existing, const SublayerContext &) override
Build (or update) the QSG node tree for this sublayer.
Definition isolinesublayer.cpp:223
Kind kind() const override
Definition isolinesublayer.h:147
SublayerStyle * style() override
Returns the property-bag QObject that owns this sublayer's style knobs.
Definition isolinesublayer.h:165
void setVisible(bool v) override
Definition isolinesublayer.cpp:189
IsolineStyle * isolineStyle() const
Definition isolinesublayer.h:170
QList< LegendSymbolItem > legendSymbolItems() const override
Returns the legend rows this sublayer contributes.
Definition isolinesublayer.cpp:205
bool isVisible() const override
Definition isolinesublayer.h:158
bool isDynamic() const override
Whether this sublayer's output depends on the current animation period.
Definition isolinesublayer.h:163
QString displayName() const override
Definition isolinesublayer.h:150
Base class for per-sublayer style property bags.
Definition sublayerstyle.h:56
void styleChanged()
Emitted when any property changes.
Slice US.1 (UNIFIED_STYLING_AND_UI_CONSISTENCY_PLAN.md S1) โ the shared classification value type emb...
double s
Scene px per model length unit.
Definition inletdrawingview.cpp:82
Toggleable visual aspect of an output layer.
int a
Definition meshquadmatch.cpp:46
Definition gisrasterlayer.h:40
QVector< int > v
pool vertex indices
Definition pslgminsize.cpp:159
QVector< int > parent
union-find
Definition pslgminsize.cpp:176
Per-frame parameters handed to ISublayer::buildOrUpdateNode().
Definition isublayer.h:73
QObject base class for per-sublayer style property bags.