![]() |
SWMMVis
6.0.0-alpha.4
Qt6/C++ GIS-based graphical user interface for the SWMMVis engine (6.0.0-alpha.4)
|
Slice BL — abstract "data-source" that the ComparisonPlotModel reads timeseries from. More...
#include "plot/plotattribute.h"#include "plot/resultdescriptor.h"#include <QDateTime>#include <QString>#include <QStringList>#include <vector>Go to the source code of this file.
Classes | |
| struct | openswmmvis::plot::ObjectRef |
| Identifies what object a series is about. Kind is the discriminator; the active union member is implied by kind. More... | |
| struct | openswmmvis::plot::SeriesData |
| Result of one series resolution. Times are SWMM DateTime doubles (OLE-Automation epoch, not astronomical Julian — see core/swmmdatetime.h); values are in the unit system the source advertises. More... | |
| class | openswmmvis::plot::IRunLayer |
| Abstract source backing one comparison-plot run. More... | |
Namespaces | |
| namespace | openswmmvis |
| namespace | openswmmvis::plot |
Functions | |
| const QVector< PlotAttribute > & | openswmmvis::plot::attributesForKind (ObjectRef::Kind k) |
The canonical plottable-attribute list for k (presentation order), dispatching to the shared lists in plotattribute.h. Lives here rather than there because the nested ObjectRef::Kind cannot be named in plotattribute.h without an include cycle. Empty for kinds with no fixed list (Observed and Unknown). Mesh kinds return their full list; per-layer availability (edge flux, rainfall datasets) is gated by IRunLayer::supportsAttribute. | |
| QVector< ResultDescriptor > | openswmmvis::plot::resultDescriptorsForKind (ObjectRef::Kind kind, const QStringList &speciesNames) |
Y2b-1 (amendment D-Y4): the kind-keyed DESCRIPTOR list — the fixed attributesForKind(kind) set wrapped, plus one species descriptor per name in speciesNames for the element kinds that carry species columns (node/link/subcatch). Species ride BY NAME (D-G1). INLINE because IRunLayer's default implementation below calls it, and IRunLayer must stay a header-only interface — hundreds of tests stub it without linking any plot TU, so nothing reachable from a virtual's default may live in a .cpp (measured twice: an out-of-line default anchored the vtable in resultdescriptor.cpp, and an out-of-line list builder left the same tests with an undefined free-function symbol). | |
Slice BL — abstract "data-source" that the ComparisonPlotModel reads timeseries from.
One IRunLayer instance represents one logical "run" in the comparison plot — most commonly an open .out file backing a SWMMResultsLayer, but the interface also fronts:
.out files loaded via Tools → Comparison Plot → Load Run… (a transient SwmmOutRunLayer owned by the dialog).SWMM2DResultsLayer implements IRunLayer directly so a mesh layer is a first-class RunSource (Slice CF.3).The model never type-casts the pointer; every interaction goes through the virtual methods below. New result-layer kinds plug in by adding a new ObjectRef discriminator + handling it in getSeriesAt.