![]() |
SWMMVis
6.0.0-alpha.4
Qt6/C++ GIS-based graphical user interface for the SWMMVis engine (6.0.0-alpha.4)
|
Slice BC's longitudinal section renderer. More...
#include "plot/profilebuilder.h"#include "plot/profileplotoptions.h"#include <QBrush>#include <QColor>#include <QDateTime>#include <QPen>#include <QPointer>#include <QSet>#include <QString>#include <QVector>#include <QWidget>#include <limits>#include <memory>#include <optional>Go to the source code of this file.
Classes | |
| class | ProfilePlotWidget |
| struct | ProfilePlotWidget::SeriesBinding |
| One elevation-axis curve to render: a (results-layer × output kind) pair with resolved style and pre-computed data. More... | |
| struct | ProfilePlotWidget::LayerToggles |
| Label / terrain / orientation switches and per-output user preferences (currentHglLine, currentHglFill, maxHglBand, etc.). More... | |
| struct | ProfilePlotWidget::Surface2DSample |
One station of the 2D inundation overlay: the active 2D results layer's water surface sampled where the path crosses the mesh. chainage is REAL path chainage (converted to virtual x when painting, like terrain samples). bed is the mesh bed elevation at the station; wse is bed + interpolated depth, or NaN when the station is dry / off-mesh / has no data (a gap). More... | |
Slice BC's longitudinal section renderer.
Paints a SWMM/EPA-style profile view from a `PathStatic` plus
one or more `SeriesBinding`s. Rendering layers (z-order, low to
high):
1. Soil fill — translucent earth tone between the ground line
(`invertElev + maxDepth` per node) and the conduit crown,
including the manhole shaft at each connecting node.
2. Conduit segments — per-link upstream/downstream invert +
crown lines, with offset1/offset2 honored at each end.
Non-conduit links (pump / weir / orifice / outlet) render
as labelled glyphs spanning the gap.
3. Connecting-node glyphs — per-node vertical bar from invert
to rim, with node ID labelled. Junction/Outfall/Storage/
Divider get distinct symbols.
4. Max-HGL / Max-EGL envelopes — invert→max fill (always
from the link/node invert up to the peak), one fill per
source, toggled independently by `LayerToggles::maxHglBand`
(for the fill) and `maxHglLine` / `maxEglLine`
(for the outline).
5. Current HGL / EGL lines — animated, driven by
`setCurrentPeriod()`. EGL is dashed.
Coordinates: x = chainage along path (in model units); y =
elevation (in model units). Pixel mapping is recomputed on
`resizeEvent` to keep the data extent visible with a fixed
margin. Plain `QWidget` + `QPainter` — no QGraphicsScene —
since the view is chart-like, not map-like.