![]() |
SWMMVis
6.0.0-alpha.4
Qt6/C++ GIS-based graphical user interface for the SWMMVis engine (6.0.0-alpha.4)
|
Y2b-1 (amendment D-Y4) — one plottable result, fixed or species. More...
Go to the source code of this file.
Classes | |
| struct | openswmmvis::plot::ResultDescriptor |
| One plottable result: a fixed attribute OR a species by name. More... | |
Namespaces | |
| namespace | openswmmvis |
| namespace | openswmmvis::plot |
Y2b-1 (amendment D-Y4) — one plottable result, fixed or species.
The plot surface's PlotAttribute is a closed enum: it cannot say "TSS at this node" because a run's species list is only known once its .out is open, and D-G1 forbids extending the enum by POLLUT_BASE + index (a saved integer would silently repoint when a model edit reorders species). A ResultDescriptor is the union the pickers need: either a fixed attribute (every existing enumerator, unchanged) or a species carried BY NAME — the same name-keyed identity Y2a gave map theming (speciesattributes.h).
Y2b-1 is plumbing only: IRunLayer::resultDescriptorsForKind serves the list (fixed set for every layer; fixed + this run's species for a .out-backed layer). Pickers consume it in Y2b-2; tabular/statistics and .oswp persistence follow in Y2b-3.
The list builder (resultDescriptorsForKind) is INLINE in irunlayer.h: IRunLayer's virtual defaults call it, and IRunLayer is a header-only interface — hundreds of tests stub it without linking any plot TU. Only the label/unit authorities live in resultdescriptor.cpp (they pull in the Y2a species helpers).