10#ifndef OPENSWMM_RENDER_RESULTSCALARSUBLAYER_H
11#define OPENSWMM_RENDER_RESULTSCALARSUBLAYER_H
68 const QVector<double> &
samples)
const
93 QJsonObject
toJson()
const override;
100 void fromJson(
const QJsonObject &json)
override;
105 QColor m_missing{145, 145, 145, 150};
106 QColor m_waterless{230, 230, 230, 90};
107 QColor m_notApplicable{Qt::transparent};
129 QString
id()
const override {
return m_id; }
142 qreal
opacity()
const override {
return m_opacity; }
174 std::shared_ptr<const openswmmvis::io::Mesh2DScalarFrame>
presentedFrame()
const;
203 QList<LegendSymbolItem>
221 std::shared_ptr<const openswmmvis::io::Mesh2DScalarFrame> m_presentedFrame;
223 bool m_visible =
true;
Shared classification model: mode + binner + ramp + range + per-class overrides, with a revision stam...
Definition classificationscheme.h:63
QPair< double, double > effectiveRange(double dataMin, double dataMax) const
Choose stored custom bounds or the caller's data bounds verbatim.
Definition classificationscheme.cpp:245
One toggleable visual aspect of a results / model layer.
Definition isublayer.h:88
Kind
Coarse taxonomy of sublayer paint behaviours.
Definition isublayer.h:100
@ ColorRampFillKind
Definition isublayer.h:105
Definition isolinesublayer.h:31
const ClassificationScheme & scheme() const
Definition isolinesublayer.h:221
std::vector< double > levelsForRange(double vMin, double vMax, const QVector< double > &samples={}) const
Definition isolinesublayer.cpp:147
Definition resultscalarsublayer.h:23
QColor waterlessColor() const
Read the explicitly waterless-cell color.
Definition resultscalarsublayer.h:78
void fromJson(const QJsonObject &json) override
Load scalar-result styling and emit one final styleChanged from this object.
Definition resultscalarsublayer.cpp:136
void setMissingColor(const QColor &color)
Replace the missing/invalid-data color and notify on change.
Definition resultscalarsublayer.cpp:105
QColor notApplicableColor() const
Read the not-applicable-cell color.
Definition resultscalarsublayer.h:81
QColor waterlessColor
Definition resultscalarsublayer.h:33
OpenSWMM::Render::ResultScalarStyle::Presentation presentation
Definition resultscalarsublayer.h:30
QColor missingColor
Definition resultscalarsublayer.h:31
QColor notApplicableColor
Definition resultscalarsublayer.h:35
void setPresentation(Presentation value)
Select an accepted presentation and notify on a change.
Definition resultscalarsublayer.cpp:95
IsolineStyle * contourStyle() const
Borrow the owned contour/label style.
Definition resultscalarsublayer.h:53
Presentation
Definition resultscalarsublayer.h:26
QColor missingColor() const
Read the missing/invalid-data fallback color.
Definition resultscalarsublayer.h:75
const ClassificationScheme & rangeScheme() const
Select the scheme associated with the current presentation.
Definition resultscalarsublayer.h:57
std::vector< double > contourLevels(double minimum, double maximum, const QVector< double > &samples) const
Generate contour levels from the contour scheme's effective range.
Definition resultscalarsublayer.h:67
void setWaterlessColor(const QColor &color)
Replace the waterless-cell color and notify on change.
Definition resultscalarsublayer.cpp:112
void setNotApplicableColor(const QColor &color)
Replace the not-applicable-cell color and notify on change.
Definition resultscalarsublayer.cpp:119
QJsonObject toJson() const override
Serialize fill classification plus presentation, contour style and availability colors.
Definition resultscalarsublayer.cpp:126
Definition resultscalarsublayer.h:114
std::shared_ptr< const openswmmvis::io::Mesh2DScalarFrame > presentedFrame() const
Atomically acquire shared ownership of the last published immutable frame.
Definition resultscalarsublayer.cpp:205
bool isVisible() const override
Read local visibility.
Definition resultscalarsublayer.h:136
SublayerStyle * style() override
Borrow the owned scalar-result style through the base interface.
Definition resultscalarsublayer.h:152
qreal opacity() const override
Read local opacity.
Definition resultscalarsublayer.h:142
bool isDynamic() const override
Report time-dependent result rendering.
Definition resultscalarsublayer.h:149
void setDescriptor(const openswmmvis::io::Mesh2DResultVariable &descriptor)
Copy source metadata, clear the published frame and invalidate unconditionally.
Definition resultscalarsublayer.cpp:178
void setOpacity(qreal value) override
Set finite clamped opacity and invalidate on exact inequality.
Definition resultscalarsublayer.cpp:193
QVector< QColor > cellColors(const openswmmvis::io::Mesh2DScalarFrame &frame) const
Build one display color per frame value using status and the fill scheme.
Definition resultscalarsublayer.cpp:213
void publishPresentedFrame(std::shared_ptr< const openswmmvis::io::Mesh2DScalarFrame > frame)
Atomically replace the displayed immutable-frame snapshot without Qt signals.
Definition resultscalarsublayer.cpp:209
QList< LegendSymbolItem > legendSymbolItems() const override
Build legend rows using descriptor metadata and an otherwise empty frame.
Definition resultscalarsublayer.cpp:249
QString variableKey() const
Copy the bound semantic variable key.
Definition resultscalarsublayer.h:158
QString displayName() const override
Describe the bound result variable, units and presentation.
Definition resultscalarsublayer.cpp:168
const openswmmvis::io::Mesh2DResultVariable & descriptor() const
Borrow the latest metadata descriptor.
Definition resultscalarsublayer.h:165
ResultScalarStyle * fillStyle() const
Borrow the concrete owned scalar-result style.
Definition resultscalarsublayer.h:155
QSGNode * buildOrUpdateNode(QSGNode *existing, const SublayerContext &) override
Preserve an existing node without generating geometry in this hook.
Definition resultscalarsublayer.h:210
void setVariableKey(const QString &key)
Bind a semantic result key through the style attribute setter.
Definition resultscalarsublayer.h:162
QString id() const override
Copy the immutable pass identifier.
Definition resultscalarsublayer.h:129
void setVisible(bool value) override
Replace visibility, clearing the presented frame when hidden.
Definition resultscalarsublayer.cpp:184
Kind kind() const override
Identify the scene pass kind.
Definition resultscalarsublayer.h:126
Definition scalarfillsublayer.h:39
const ClassificationScheme & scheme() const
Borrow the complete classification settings.
Definition scalarfillsublayer.h:157
void setAttribute(const QString &v)
Set the scalar attribute key and notify on a change.
Definition scalarfillsublayer.cpp:40
QString attribute
Definition scalarfillsublayer.h:41
Base class for per-sublayer style property bags.
Definition sublayerstyle.h:58
void styleChanged()
Emitted when any property changes.
Dynamic marching-squares isoline sublayer over a 2D mesh. Plan §3 — fourth sublayer in the SWMM2DResu...
Immutable scalar frames retaining dataset units and validity.
Definition gisrasterlayer.h:42
int parent
Definition planning.cpp:199
double value
Definition rasterfluxintegration.cpp:27
QVector< double > samples
Definition resultscalarsublayer.cpp:29
Per-cell (flat) and per-vertex (Gouraud) scalar-fill sublayers over a 2D mesh. Unlike ContourBandSubl...
Per-frame parameters handed to ISublayer::buildOrUpdateNode().
Definition isublayer.h:74
Definition mesh2dresultvariable.h:22
Definition mesh2dscalarframe.h:23
Sample minimum
Definition timeseriesrunlayer.cpp:51
Sample maximum
Definition timeseriesrunlayer.cpp:51