![]() |
SWMMVis
6.0.0-alpha.4
Qt6/C++ GIS-based graphical user interface for the SWMMVis engine (6.0.0-alpha.4)
|
Sister interface to IFeatureRenderer for single-band raster layers. More...
#include "render/legendsymbolitem.h"#include <QColor>#include <QJsonObject>#include <QList>#include <QString>#include <memory>Go to the source code of this file.
Classes | |
| class | OpenSWMM::Render::IRasterRenderer |
| Abstract interface — every raster layer's paint path goes here. More... | |
Namespaces | |
| namespace | OpenSWMM |
| namespace | OpenSWMM::Render |
Sister interface to IFeatureRenderer for single-band raster layers.
Where IFeatureRenderer maps a (feature, attrs) pair to a
SymbolStyle, IRasterRenderer maps a raw pixel value to a
display QColor. The narrower domain (single scalar in / one
RGBA colour out) means a much smaller surface than the feature
interface: there is no per-feature attribute map, no symbol
layer stack, no scale-range gate.
Concrete renderers planned by GUI_IMPLEMENTATION_PLAN.md §J.2
(sub-phase 8.13.6.7):
- SingleBandPseudoColorRenderer — interpolated stops + clamp policy
- SingleBandGrayRenderer — min→black, max→white, optional invert
- PalettedRenderer — discrete byte-value → colour table
- HillshadeRenderer — light-direction-shaded relief
- MultiBandColorRenderer — RGB(A) bypass, no ramp
Sub-phase 8.13.6.7 ships the interface + SingleBandPseudoColorRenderer
stub only; the remaining concrete renderers arrive in later slices
when their corresponding UI is implemented.
Legend pipeline alignment: legendSymbolItems() returns the same
LegendSymbolItem type used by IFeatureRenderer so the legend dock
can render mixed-layer compositions through a single code path
(§J.5 legend-from-renderer rule).
JSON round-trip (toJson / fromJson) is mandatory for .oswp
save/load and .swmm-style.json import/export (Slice BB Phase
8.6.13). clone() returns a deep copy for map preset capture
(Slice CJ.2) without aliasing the live renderer.