![]() |
SWMMVis
6.0.0-alpha.4
Qt6/C++ GIS-based graphical user interface for the SWMMVis engine (6.0.0-alpha.4)
|
Toggleable visual aspect of an output layer. More...
#include "render/legendsymbolitem.h"#include <QDateTime>#include <QList>#include <QMatrix4x4>#include <QObject>#include <QRectF>#include <QString>Go to the source code of this file.
Classes | |
| struct | OpenSWMM::Render::SublayerContext |
| Per-frame parameters handed to ISublayer::buildOrUpdateNode(). More... | |
| class | OpenSWMM::Render::ISublayer |
| One toggleable visual aspect of a results / model layer. More... | |
Namespaces | |
| namespace | OpenSWMM |
| namespace | OpenSWMM::Render |
Toggleable visual aspect of an output layer.
Plan reference: RENDERING_OUTPUT_SUBLAYERS_PLAN.md §3.
An ISublayer is one paint pass with its own visibility, opacity,
style bag, legend contribution, and (importantly) a self-declared
isDynamic() flag that tells AnimationController whether to
invalidate this sublayer on time-step changes.
Each output layer (SWMMResultsLayer, SWMM2DResultsLayer, …) owns
an ordered list of ISublayers; paint order = list order
(bottom-up). The user can re-order via the layer-tree dock
(Slice S3) and toggle individual sublayers via the third tier
of LayerTreeModel.
The sublayer model refines the IFeatureRenderer abstraction
(§J.2). A SingleSymbolRenderer produces a one-or-two-sublayer
default mix (marker + line); a GraduatedRenderer adds a
ColorRamp sublayer on top. Existing renderer code keeps
working — it just produces sublayers under the hood instead of
monolithic paint passes.
Style bags (style()) are QObjects with Q_PROPERTYs so the
existing QPropertyModel-backed editor stack drives the UI
(today: the unified LayerStyleDialog; the original Slice S3
SublayerStyleDialog was retired).
Cross-slice: Slice S1 (interface only). Concrete sublayers
(ConduitLineSublayer, NodeMarkerSublayer, DepthColorRampSublayer,
IsolineSublayer, ContourBandSublayer, VelocityVectorSublayer)
land in S2 / S5.