38#ifndef OPENSWMM_RENDER_ISUBLAYER_H
39#define OPENSWMM_RENDER_ISUBLAYER_H
117 [[nodiscard]]
virtual QString
id()
const = 0;
123 [[nodiscard]]
virtual qreal
opacity()
const = 0;
One toggleable visual aspect of a results / model layer.
Definition isublayer.h:87
virtual bool isDynamic() const =0
Whether this sublayer's output depends on the current animation period.
virtual SublayerStyle * style()=0
Returns the property-bag QObject that owns this sublayer's style knobs.
virtual void setOpacity(qreal)=0
virtual QString displayName() const =0
Kind
Coarse taxonomy of sublayer paint behaviours.
Definition isublayer.h:100
@ MarkerKind
Definition isublayer.h:101
@ VectorGlyphKind
Definition isublayer.h:108
@ ContourBandKind
Definition isublayer.h:107
@ LineKind
Definition isublayer.h:102
@ FillKind
Definition isublayer.h:103
@ IsolineKind
Definition isublayer.h:106
@ ColorRampFillKind
Definition isublayer.h:105
@ ArrowKind
Definition isublayer.h:104
~ISublayer() override=default
virtual Q_INVOKABLE void invalidate()
Public entry point hosts call to request a re-render.
Definition isublayer.h:192
virtual void setVisible(bool)=0
virtual bool isVisible() const =0
virtual Kind kind() const =0
virtual QList< LegendSymbolItem > legendSymbolItems() const =0
Returns the legend rows this sublayer contributes.
virtual QSGNode * buildOrUpdateNode(QSGNode *existing, const SublayerContext &ctx)=0
Build (or update) the QSG node tree for this sublayer.
virtual QString id() const =0
void invalidated()
Style or visibility changed in a way the renderer must observe.
virtual qreal opacity() const =0
Base class for per-sublayer style property bags.
Definition sublayerstyle.h:56
One row in a layer's legend — label + swatch symbol + optional range.
Definition gisrasterlayer.h:40
QVector< int > parent
union-find
Definition pslgminsize.cpp:176
Per-frame parameters handed to ISublayer::buildOrUpdateNode().
Definition isublayer.h:73
QRectF exposedSceneRect
Definition isublayer.h:77
QMatrix4x4 viewMatrix
Definition isublayer.h:74
double devicePixelRatio
Definition isublayer.h:76
QDateTime currentTime
Definition isublayer.h:78
int currentPeriod
Definition isublayer.h:79
double pixelsPerSceneUnit
Definition isublayer.h:75