![]() |
SWMMVis
6.0.0-alpha.4
Qt6/C++ GIS-based graphical user interface for the SWMMVis engine (6.0.0-alpha.4)
|
Engineering-drawing view of one inlet design (Inlets plan §2.3). More...
#include <QColor>#include <QGraphicsView>#include <QPointF>#include <QPointer>#include <QVector>Go to the source code of this file.
Classes | |
| struct | openswmmvis::ui::InletTheme |
Colours for the drawing. Taken from the widget palette — the same source StreetSectionPreview uses — so the drawing follows the app theme without a second palette to keep in sync. More... | |
| class | openswmmvis::ui::InletSceneBuilder |
| Pure scene factory for one inlet design. More... | |
| class | openswmmvis::ui::InletDrawingView |
Namespaces | |
| namespace | openswmmvis |
| namespace | openswmmvis::inlet |
| namespace | openswmmvis::ui |
Engineering-drawing view of one inlet design (Inlets plan §2.3).
InletSceneBuilder::build is a pure function of (provider, unit system, theme, optional custom-curve points) → a fresh QGraphicsScene, so it is unit-testable without a widget and reusable by the property panel and the identify popup. InletDrawingView is the interactive host: wheel-zoom about the cursor, middle-button drag pan, fit-on-first-show, and render(QPainter*) for copy / export.
Every drawing is to scale from the provider's values (with a minimum on-screen extent so a degenerate 0-length design still renders) and carries dimension callouts — extension lines, a dimension line with arrowheads and a label such as "L = 2.00 ft". Each callout's text item is tagged with data(InletSceneBuilder::CalloutRole), so tests can count and read them.
Callouts per type (the count the tests assert):
GRATE L, W → 2 DROP GRATE L, W → 2 CURB OPENING L, h, throat angle → 3 DROP CURB L (×4 sides), h → 2 COMBINATION L_grate, W, L_curb, h, sweeper length → 5 SLOTTED DRAIN L, w → 2 CUSTOM curve name, curve kind → 2
A GENERIC grate adds two more (open-area fraction and splash-over velocity) to any type whose grate group is drawn.