![]() |
SWMMVis
6.0.0-alpha.4
Qt6/C++ GIS-based graphical user interface for the SWMMVis engine (6.0.0-alpha.4)
|
Cross-feature paint order (Symbol Levels) — Slice Z.11. More...
Go to the source code of this file.
Classes | |
| struct | OpenSWMM::Render::PaintStep |
| One entry in the paint sequence computed by computeSymbolLevelOrder. More... | |
Namespaces | |
| namespace | OpenSWMM |
| namespace | OpenSWMM::Render |
Functions | |
| int | OpenSWMM::Render::symbolLayerLevel (const SymbolLayer &layer) |
| void | OpenSWMM::Render::setSymbolLayerLevel (SymbolLayer &layer, int level) |
| bool | OpenSWMM::Render::operator== (const PaintStep &a, const PaintStep &b) |
| QVector< PaintStep > | OpenSWMM::Render::computeSymbolLevelOrder (const QVector< SymbolStyle > &features, bool enabled) |
Compute the paint sequence for features under enabled Symbol Levels. | |
Variables | |
| constexpr const char * | OpenSWMM::Render::kSymbolLevelPropKey = "level" |
Cross-feature paint order (Symbol Levels) — Slice Z.11.
QGIS-native feature. Without Symbol Levels, every feature is
painted top-down before moving to the next; intersection
seams in line networks look fragmented because each feature's
outline paints over the previous feature's fill. With Symbol
Levels enabled, the paint pass groups by (level, feature)
instead of (feature, level) — all symbol layers at level 0
paint across every feature first, then level 1, etc.
The level is a per-SymbolLayer integer (canonical prop key
`"level"`, default 0). The enable flag lives on Rule
(`Rule::symbolLevelsEnabled` — added in Z.11).
Slice Z.11 ships the data-side: the prop convention, the
enable flag, and the paint-order helper. Integration with the
actual layer paint loops is the named Z.11a follow-up — the
existing renderers' paint paths consume the helper output as
a sequence of (feature-index, symbol-layer-index) pairs.